Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 08.08.2013, 10:30   #1
Downloads
Пользователь
 
Аватар для Downloads
 
Регистрация: 25.06.2012
Сообщений: 39
По умолчанию aBitmap : TBitmap; размер изображения

aBitmap : TBitmap; как узнать размер изображения? в байтах килобайтах а не в пикселях
Downloads вне форума Ответить с цитированием
Старый 08.08.2013, 11:31   #2
Человек_Борща
Старожил
 
Аватар для Человек_Борща
 
Регистрация: 30.12.2009
Сообщений: 11,426
По умолчанию

Через FindFirst получить TSearchRec и получить Size размер файла в байтах.
Человек_Борща вне форума Ответить с цитированием
Старый 08.08.2013, 11:50   #3
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
как узнать размер изображения?
А по моему есть формула. Что-то типа Ширина*Длина*3*что-то еще. Не помню точно, зависит от типа колора битмапа.
Почитай тут: http://forum.vingrad.ru/articles/topic-94227.html
Цитата:
Размер растра в байтах можно вычислить следующим образом:
(((((((biWidth * biBitCount + 7) shr 3) + 3) shr 2) shl 2) * abs(biHeight) + 3) shr 2) shl 2.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 08.08.2013, 14:46   #4
Человек_Борща
Старожил
 
Аватар для Человек_Борща
 
Регистрация: 30.12.2009
Сообщений: 11,426
По умолчанию

Stilet, а кто будет учитывать размеры типизированных данных? Типа заголовка и структур?

Думаю, проще систему попросить выдать размер.
Человек_Борща вне форума Ответить с цитированием
Старый 08.08.2013, 21:56   #5
Downloads
Пользователь
 
Аватар для Downloads
 
Регистрация: 25.06.2012
Сообщений: 39
По умолчанию

так как лучше? или как быть? я так и не понял.
может как нибудь так..

Код:
var
  bmp1:TBitmap;
  size:integer;
  buf: array [0..100000] of byte;
begin
 bmp1:=TBitmap.Create;
 bmp1.LoadFromFile('c:\1.bmp');
 size:=bmp1.Width*bmp1.Height;
 CopyMemory(@buf,bmp1,size);
 Label1.Caption := BytetoString(buf);

Последний раз редактировалось Downloads; 08.08.2013 в 22:04.
Downloads вне форума Ответить с цитированием
Старый 09.08.2013, 01:18   #6
Человек_Борща
Старожил
 
Аватар для Человек_Борща
 
Регистрация: 30.12.2009
Сообщений: 11,426
По умолчанию

Я вам предложил вариант, Stilet вам предложил вариант. А то, что вы написали - полный бред.
Человек_Борща вне форума Ответить с цитированием
Старый 09.08.2013, 07:56   #7
Downloads
Пользователь
 
Аватар для Downloads
 
Регистрация: 25.06.2012
Сообщений: 39
По умолчанию

Человек_Борща, Stilet, я этот вариант не совсем понял как расширить (как использовать)
Downloads вне форума Ответить с цитированием
Старый 09.08.2013, 08:18   #8
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
кто будет учитывать размеры типизированных данных?
Так ведь нужен размер самого растра, или нет?
Если нужен размер файла то твой вариант понятное дело без вопросов.
Цитата:
Downloads
Изображение откуда берется?
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 11.08.2013, 10:24   #9
Downloads
Пользователь
 
Аватар для Downloads
 
Регистрация: 25.06.2012
Сообщений: 39
По умолчанию

Stilet, буфер обмена!
Downloads вне форума Ответить с цитированием
Старый 11.08.2013, 13:10   #10
саша40
Участник клуба
 
Регистрация: 12.09.2012
Сообщений: 1,030
По умолчанию

Для справки: Буфер обмена- это служба виндовс исполняемая системой. Использует оперативную память и хранит там данные.
Downloads, посмотри главу "Графика в Delphi" в книге Флёнова "Библия Delphi". Там автор расматривает пиксель в изображение как отдельные три байта. Байт может принимать значения от 00 до FF. И если получить hex картинки, то каждые три байта - это отдельный пиксель. В общем случае размер изображения в байт: Height*Width*3. Жаль не на число "Пи".
Что нужно программисту: Компьютер, Среда программирование, Воображение, Прямые руки, Мозги, Знания этой среды программирования.
Программист-это профессия, а программирование-это моё хобби.
саша40 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
TBitmap. Ошибка при загрузке изображения 640х480 xrob Мультимедиа в Delphi 6 09.04.2013 20:54
Размер изображения VistaSV30 HTML и CSS 11 16.10.2010 00:45
Как узнать разрешение изображения *.bmp, загруженного в TBitmap? ImmortalAlexSan Мультимедиа в Delphi 2 22.07.2010 17:03
размер изображения TaTT DoGG Общие вопросы .NET 6 05.03.2010 19:24
Размер изображения FeNiX_IU8 Помощь студентам 5 15.11.2009 21:35