![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Узнать высоту, ширину, цвет точки HBITMAP-а без модуля Graphics [D7, WinXP]
Dmitry_177 © (2006-12-03 21:30:00)Если загрузить битмап из файла в переменную типа HBITMAP так:
var
hBmp: HBITMAP;
...
hBmp := LoadImage(0, '1.bmp', IMAGE_BITMAP, 0, 0, LR_LOADFROMFILE);
Как можно узнать его высоту, ширину, и цвет в какой-то определенной точке не прибегая к модую Graphics?
Dmitry_177 (2006-12-10 19:05:00) [1]Вот если делать через GetDIBits, у меня возникло несколько вопросов:
var
memDC: HDC;
hBkgnd: HBITMAP;
begin
hBkgnd := LoadImage(0, '1.bmp', IMAGE_BITMAP, 0, 0, LR_LOADFROMFILE);
memDC := GetDC(0);
GetDIBits(memDC, hBkgnd, 0, 0, nil, BMI, DIB_RGB_COLORS);
ReleaseDC(0, memDC);
if (BMI.bmiColors[0].rgbRed = 255) and (BMI.bmiColors[0].rgbGreen = 0) and (BMI.bmiColors[0].rgbBlue = 0) then
MessageBox(0, '0 - Красный', '', 0);
end;
Правильно ли я создаю контекст устройства memDC := GetDC(0);?
Не понятно что это за массив bmiColors, как так идет счет точек что-то я не пойму, там же всего одно число а не два, например x и y... Объясните пожалуйста..
Dmitry_177 (2006-12-07 17:22:00) [2]Я тут так подумал, может лучше так будет?
размер:
var
size: tagSIZE;
...
GetBitmapDimensionEx(hBmp, size);
цвет:
color := GetPixel(hBmp, x, y);
MBo (2006-12-04 07:00:00) [3]GetObject
GetPixel