Форум: "Media";
Текущий архив: 2004.01.20;
Скачать: [xml.tar.bz2];
ВнизСчитать попиксельно яркость градиента серого и записать в массив Найти похожие ветки
← →
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 вся ветка
Форум: "Media";
Текущий архив: 2004.01.20;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.011 c