Вверх ↑
Ответов: 233
Рейтинг: 12
#1: 2016-08-23 00:11:50 ЛС | профиль | цитата
Дорогие знатоки форума, подскажите как данный код заставить работать... 3-й день бьюсь.

type

type
TRGB=record
b,g,r : byte;
end;
Type
ARGB=array [0..1] of TRGB;
PARGB=^ARGB;

procedure BlackWhite(image : tbitmap);
var
i, j, c : integer;
p : PARGB;
begin
image.PixelFormat:=pf24bit;
for i:=0 to image.Height-1 do
begin
p:=image.ScanLine[i];
for j:=0 to image.Width-1 do
begin
c:=round(0.3*p[j].r+0.59*p[j].g+0.11*p[j].b);
if c›=128 then c:=255 else c:=0; //эту строку надо убрать чтобы получить градации серого
p[j].r:=c;
p[j].g:=c;
p[j].b:=c;
end;
end;
end;

Нужно перевести картинку в черно белый цвет
карма: 2

0
Редактировалось 1 раз(а), последний 2016-08-23 00:12:31