Конференция "WinAPI" » HBITMAP, Размеры
 
  • R1ka © (31.05.08 23:47) [0]
    Как узнать размеры (Высота, длина) HBITMAP'a, загруженного таким образом:


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

  • Игорь Шевченко © (01.06.08 00:57) [1]
    GetBitmapDimensionEx, например
  • Фунтик © (01.06.08 01:07) [2]
    Эта штука работает только если перед ее вызовом установлены размеры функцией SetBitmapDimensionEx, в противном случае - возвращает нули (проверял)
  • Renegat (01.06.08 10:49) [3]
    Боюсь уже отвечать на етот форум... =) Тем не менее рискну:

    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;

  • R1ka © (01.06.08 17:38) [4]
    похабно как-то, неужели нет решения культурнее?
  • Renegat (01.06.08 20:34) [5]
    Культурнее - это как? С помощью ВЦЛ и иже с ним? Естессно можно, только намного медленнее. Спрашивалось же про HBITMAP - я и подумал, что требуется WinAPI...
    PS: А в чём заключаетсо "похабность"? =)
  • R1ka © (01.06.08 20:42) [6]
    как я понимаю - тут создается "болванка" для битмапа со всеми заголовками и внее впихивается картинка моя, потом уже из этой болванки считывается размер?
  • Игорь Шевченко © (01.06.08 22:58) [7]

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


    Нет, болванка не создается. Bitmap читается при LoadBitmap со всеми потрохами.
  • R1ka © (02.06.08 00:48) [8]
    Renegat, Игорь Шевченко,
    спасибо, разобрался вроде!
 
Конференция "WinAPI" » HBITMAP, Размеры
Есть новые Нет новых   [134433   +22][b:0][p:0.001]