Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2007.05.06;
Скачать: CL | DM;

Вниз

Узнать высоту, ширину, цвет точки HBITMAP-а без модуля Graphics   Найти похожие ветки 

 
Dmitry_177   (2006-12-03 21:30) [0]

Если загрузить битмап из файла в переменную типа HBITMAP так:

var
hBmp: HBITMAP;
...
hBmp := LoadImage(0, "1.bmp", IMAGE_BITMAP, 0, 0, LR_LOADFROMFILE);


Как можно узнать его высоту, ширину, и цвет в какой-то определенной точке не прибегая к модую Graphics?


 
MBo ©   (2006-12-04 07:00) [1]

GetObject
GetPixel


 
Dmitry_177   (2006-12-07 17:22) [2]

Я тут так подумал, может лучше так будет?

размер:

var
 size: tagSIZE;
...
GetBitmapDimensionEx(hBmp, size);


цвет:

color := GetPixel(hBmp, x, y);


 
Dmitry_177   (2006-12-10 19:05) [3]

Вот если делать через 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... Объясните пожалуйста..



Страницы: 1 вся ветка

Текущий архив: 2007.05.06;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.056 c
2-1176392286
GL00m
2007-04-12 19:38
2007.05.06
Пресловутые PChar и DLL...


2-1176805357
Fynjy1984
2007-04-17 14:22
2007.05.06
Помогите правильно составить запрос


11-1158055111
[e]Bu$ter
2006-09-12 13:58
2007.05.06
Как отловить потерю фокуса у формы


1-1173703336
greg123
2007-03-12 15:42
2007.05.06
Как создать процедуру для динамически создаваемого компонента


15-1176015665
IMHO
2007-04-08 11:01
2007.05.06
SureType vs QWERTY