刚工作,有个小问题要请教!(50分)

  • 主题发起人 主题发起人 出人头地
  • 开始时间 开始时间

出人头地

Unregistered / Unconfirmed
GUEST, unregistred user!
各位大侠:
小弟刚工作,有以下几个问题要请教:
1.打开一幅彩色图片(bmp)格式,把它变成灰色,变得模糊,还可以调对比度。
2.有一个规则的红色圆,但是背景是不规则的图像(乱七八糟的)。如何求这个圆的圆心。

那位大哥有好的算法,请帮帮小弟。我分不多了,先给50大洋,好吗??
 
1stclass控件中有fcimager可以实现你的第一个功能!
 
procedure TForm1.Button2Click(Sender: TObject); //图像变灰
var
i, j: Integer;
Grayshade, Red, Green, Blue: Byte;
PixelColor: Longint;
begin
begin
with image1 do
for i := 0 to Width - 1 do
for j := 0 to Height - 1 do
begin
PixelColor := ColorToRGB(Canvas.Pixels[i, j]);
Red := PixelColor;
Green := PixelColor shr 8; //按位右移
Blue := PixelColor shr 16;
Grayshade := Round(0.3 * Red + 0.6 * Green + 0.1 * Blue);
Canvas.Pixels[i, j] := RGB(Grayshade, Grayshade, Grayshade);
end;
end;
end;
end.///以上代码中0.3,0.6,0.1到底是什么意思呀????????????帮忙看看!!!!!!!!!!!!!!!!!!!!!!!!!!!11
 
0.3+0.6+0.1=1
R(ed) G(reen) B(lue)
三种颜色所占的百分比
 

Similar threads

D
回复
0
查看
934
DelphiTeacher的专栏
D
D
回复
0
查看
727
DelphiTeacher的专栏
D
D
回复
0
查看
688
DelphiTeacher的专栏
D
S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
后退
顶部