-
Как узнать размеры (Высота, длина) HBITMAP'a, загруженного таким образом:
var
myBitmap: HBITMAP;
...
myBitmap := LoadBitmap(hInstance, 'IDB_REDCIRCLE');
-
GetBitmapDimensionEx, например
-
Эта штука работает только если перед ее вызовом установлены размеры функцией SetBitmapDimensionEx, в противном случае - возвращает нули (проверял)
-
Боюсь уже отвечать на етот форум... =) Тем не менее рискну: function getBitmapSize(B: HBITMAP):SIZE;
var buf : BITMAP;
begin
FillChar(buf, SizeOf(BITMAP), 0);
GetObject(B, SizeOf(BITMAP), @buf);
result.cx:=buf.bmWidth;
result.cy:=buf.bmHeight;
end;
-
похабно как-то, неужели нет решения культурнее?
-
Культурнее - это как? С помощью ВЦЛ и иже с ним? Естессно можно, только намного медленнее. Спрашивалось же про HBITMAP - я и подумал, что требуется WinAPI... PS: А в чём заключаетсо "похабность"? =)
-
как я понимаю - тут создается "болванка" для битмапа со всеми заголовками и внее впихивается картинка моя, потом уже из этой болванки считывается размер?
-
> как я понимаю - тут создается "болванка" для битмапа со > всеми заголовками и внее впихивается картинка моя, потом > уже из этой болванки считывается размер?
Нет, болванка не создается. Bitmap читается при LoadBitmap со всеми потрохами.
-
Renegat, Игорь Шевченко, спасибо, разобрался вроде!
|