关于超想
本站导航
邮件列表
  首页 | 本站产品 | Delphi资料 | 免费资源 | 程序人生 | 软件工程 | 网站设计 | 推荐网站
你所在的位置 -> 主页 -> 超想软件 -> 编程资料 -> delphi -> 开发技巧 -> 图形图像 ->详细
相关内容  
 
 
 
【新品推荐】

  详细内容
 

彩色图像转换成灰度图像
作者: 评价: 上站日期: 2001-05-05
内容说明:
来源:

//这是一种直接处理的方法
procedure TForm1.Button1Click(Sender: TObject);
var
  lo:tbitmap;
  i,j:integer;
  kl:longint;
  rr,gg,bb:byte;
  res:byte;
begin
  lo:=tbitmap.create;
  lo.Width:=image1.Width;
  lo.height:=image1.height;
  ProgressBar1.Max:=image1.Width+1;
  for i:=0 to image1.Width+1 do
  begin
    for j:=0 to image1.height+1 do
    begin
      kl:=ColorToRGB(image1.Canvas.Pixels[i,j]);
      rr:=byte(kl);
      gg:=byte(kl shr 8);
      bb:=byte(kl shr 8);
      res:=(rr+gg+bb) div 3;
      lo.Canvas.Pixels[i,j]:=rgb(res,res,res);
    end;
    ProgressBar1.Position:=i;
  end;//for do
  image1.Canvas.Draw(0,0,lo);
  lo.free;
end;


//这是一种灰度转换的算法
function RgbToGray(Source: TColor) : TColor;
var Target: Byte;
begin
  Target := Round((0.30 * GetRValue(Source)) +
(0.59 * GetGValue(Source)) +
(0.11 * GetBValue(Source)));
  Result := RGB(Target, Target, Target);
end;

 
你所在的位置 -> 主页 -> 超想软件 -> 编程资料 -> delphi -> 开发技巧 -> 图形图像 ->详细
  首页 | 本站产品 | Delphi资料 | 免费资源 | 程序人生 | 软件工程 | 网站设计 | 推荐网站
声明:本站内容除注明原创以外均从网上摘抄,如有侵权请指明。
  如果您对我们的网站有什么意见或者建议,请与我们联系
powered by 建站易上手- V2.0