Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "WinAPI";
Текущий архив: 2007.05.06;
Скачать: [xml.tar.bz2];

Вниз

Узнать высоту, ширину, цвет точки 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 вся ветка

Форум: "WinAPI";
Текущий архив: 2007.05.06;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.45 MB
Время: 0.055 c
1-1173602376
Makhanev Alexander
2007-03-11 11:39
2007.05.06
Диалог выбора пользователя....


2-1176528655
Гость у мастеров
2007-04-14 09:30
2007.05.06
ActiveX. начало


2-1176385146
stone
2007-04-12 17:39
2007.05.06
IDE или нет?


15-1176208418
Ega23
2007-04-10 16:33
2007.05.06
Знатокам Sybase Power Desigher


15-1176195527
ocean
2007-04-10 12:58
2007.05.06
Office systems (word processors, spreadsheets, e-mail, etc.)





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский