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

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

HBITMAP, Размеры


R1ka ©   (2008-05-31 23:47:00) 

Как узнать размеры (Высота, длина) HBITMAP'a, загруженного таким образом:


var
  myBitmap:       HBITMAP;
...
  myBitmap := LoadBitmap(hInstance, 'IDB_REDCIRCLE');


R1ka   (2008-06-02 00:48:00) [1]

Renegat, Игорь Шевченко,
спасибо, разобрался вроде!


Игорь Шевченко   (2008-06-01 22:58:00) [2]


> как я понимаю - тут создается "болванка" для битмапа со
> всеми заголовками и внее впихивается картинка моя, потом
> уже из этой болванки считывается размер?


Нет, болванка не создается. Bitmap читается при LoadBitmap со всеми потрохами.


R1ka   (2008-06-01 20:42:00) [3]

как я понимаю - тут создается "болванка" для битмапа со всеми заголовками и внее впихивается картинка моя, потом уже из этой болванки считывается размер?


Renegat   (2008-06-01 20:34:00) [4]

Культурнее - это как? С помощью ВЦЛ и иже с ним? Естессно можно, только намного медленнее. Спрашивалось же про HBITMAP - я и подумал, что требуется WinAPI...
PS: А в чём заключаетсо "похабность"? =)


R1ka   (2008-06-01 17:38:00) [5]

похабно как-то, неужели нет решения культурнее?


Renegat   (2008-06-01 10:49:00) [6]

Боюсь уже отвечать на етот форум... =) Тем не менее рискну:

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;


Фунтик   (2008-06-01 01:07:00) [7]

Эта штука работает только если перед ее вызовом установлены размеры функцией SetBitmapDimensionEx, в противном случае - возвращает нули (проверял)


Игорь Шевченко   (2008-06-01 00:57:00) [8]

GetBitmapDimensionEx, например


Наверх

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