Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Получение параметров HBitmap [D5, D6, WinXP]


Th ©   (2002-09-25 18:02:00) 

Есть объект TBitmap, у него соотв. Handle - HBitmap. Объясните пожалуйста, как по этому хэндлу получить соответствующую структуру BITMAPINFOHEADER, и чем она отличается от BITMAPCOREHEADER.


MBo   (2002-09-26 06:02:00) [1]

procedure TForm1.Button1Click(Sender: TObject);
var b:tbitmap;
dibs:TDibSection;
begin
b:=tbitmap.create;
b.loadfromfile("e:\4.bmp");
GetObject(B.Handle, SizeOf(TDibSection), @dibs);
label1.caption:=inttostr(dibs.dsBmih.biHeight);
b.free;
end;


Evgeny   (2002-09-26 05:16:00) [2]

см. исходники graphics.pas


Th   (2002-09-25 18:37:00) [3]

Так как же все таки получить эту структуру (BITMAPINFOHEADER) объекта HBitmap? Дело в том, что мне надо установить знак высоты изображения, а если я просто сделаю SelectObject, то получу обычную структуру Bitmap, в которой высота всегда положительна, независимо от того, как изображение расположено в памяти - нижняя строка по младшим адресам или верхняя.


MBo   (2002-09-25 18:23:00) [4]

BITMAPCOREHEADER - заголовок старого формата bitmap OS/2, а нем всего 5 полей, а ао втором от 11 и выше (первые поля такие же)

см. исходники graphics.pas


Наверх

Титульная страница Поиск, карта сайта Написать письмо