把jpg图象灰度化 ( 积分: 50 )

  • 主题发起人 主题发起人 guopengli
  • 开始时间 开始时间
G

guopengli

Unregistered / Unconfirmed
GUEST, unregistred user!
把jpg图象灰度化,哪位能给段代码,谢谢
 
把jpg图象灰度化,哪位能给段代码,谢谢
 
记得以前的Delphi里面好像有这样的例子的,你可以查查.
 
把jpg转成bmp,处理完再转成jpg,以下代码速度很快。
bmp的灰度代码如下:

//真彩图灰度化
procedure Gray(bmp: TBitmap);
var
p: PByteArray;
w: Integer;
i, j: Integer;
begin
bmp.pixelformat := pf24bit;
for i := 0 to bmp.height - 1 do begin
p := bmp.ScanLine;
for j := 0 to (bmp.width-1) do begin
w :=(p[3*j]*28 + p[3*j+1]*151 + p[3*j+2]*77);
w := w shr 8;
w := byte(w);
p[3*j] := w;
p[3*j+1] := w;
p[3*j+2] := w;
end;
end;
end;
 
接受答案了.
 
后退
顶部