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

Вниз

Считать попиксельно яркость градиента серого и записать в массив   Найти похожие ветки 

 
FreeSky ©   (2003-09-18 12:25) [0]

Народ подскажите пожалуйста функцию, которая считывает яркость пикселя. Если есть пример буду благодарен.


 
ZEE ©   (2003-09-18 13:07) [1]

Сначала считываешь цвет (rgb), а потом:
http://www.delphimaster.ru/cgi-bin/faq.pl?look=1&id=988625431&n=21


 
pasha_676 ©   (2003-09-18 13:07) [2]

Как то непонятно что надо. Цвета считать из bmp в заданной точке? Ну и что там не понятного. TBitmap+F1.


 
simmoril ©   (2003-09-18 16:46) [3]

Если нужна яркость пикселей то,собственно, вот:

function BLimit(A: Integer): Byte;
begin
if A < 0 then Result := 0
else if A > 255 then Result := 255
else Result := A;
end;

...

var
Bitmap: TBitmap;
Matrix: array of array of Byte;
x, y: Integer;
p: pByteArray;

begin
Bitmap := TBitmap.Create;
try
Bitmap.LoadFromFile("file.bmp");
Bitmap.PixelFormat := pf24Bit;
SetLength(Matrix, Bitmap.Height);
for y := 0 to Bitmap.Height - 1 do
begin
p := Bitmap.ScanLine[y];
SetLength(Matrix[y], Bitmap.Width);
for x := 0 to Bitmap.Width-1 do
Matrix[y,x]:=BLimit(Round((p[x*3]*0.11 + p[x*3+1]*0.59 +
p[x*3+2]*0.3)));
end;
finally
Bitmap.Free;
end;
end;

Все это работает правильно.
matrix - это и есть массив яркостей пикселей.



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

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

Наверх




Память: 0.47 MB
Время: 0.039 c
4-63455
Дубинин Алексей
2003-11-16 21:27
2004.01.20
ClipBoard


1-63100
Jenaxx
2004-01-08 01:19
2004.01.20
Как получить инфу о пользователе, всю ту что можно получить


14-63313
SPeller
2003-12-30 09:52
2004.01.20
Новый год - а у нас как в Африке! :-)


1-63098
SDan
2004-01-08 13:20
2004.01.20
Как работает ListBox


1-63179
ValeX
2004-01-10 16:24
2004.01.20
компилер пропускает строки