|
감사합니다. 나머지 델파이 코드입니다.
이건 어떻게 바뀌어야 하나요? 포인터처리가 어렵구뇨 --;
----------------------------------------------------------------------------
var
bmp1: Tbitmap;
x, y: integer;
p:Prgb24;
R,G,B: Byte;
bmp_name: string;
begin
bmp1:=Tbitmap.Create;
Try
bmp_name:='c:/testimage/angle30_24.bmp';
bmp1.LoadFromFile(bmp_name);
SetLength(Gray, bmp1.width, bmp1.height);
for y:=1 to bmp1.Height-1 do
begin
p:=bmp1.Scanline[y];
for x:=1 to bmp1.Width-1 do
begin
R:=p^.r;
G:=p^.g;
B:=p^.b;
inc(p);
Gray[x,y]:=round(R*0.3+G*0.6+B*0.1); //
end;
end;
Finally
bmp1.Free;
end; // try
end;
|