如何求某一区域中的颜色平均值?100分!紧急!(100分)

  • 主题发起人 主题发起人 dangege
  • 开始时间 开始时间
D

dangege

Unregistered / Unconfirmed
GUEST, unregistred user!
最近小弟遇到一个问题:事先用API函数创建了一个区域,想求出此区域中的RGB颜色平均值,但不知该如何下手?
 
各位大虾快帮帮忙啊!!
 
建立动态数组 计算区域内所有点的总和 计算平均值
 
怎么样得到区域中每个点的句柄?
 
类试的:
type
rgbp=record
r:integer;
g:integer;
b:integer;

var
rgbpoint:array[0..1000,0..1000] of rgbp;
red,green,blue;integer;

procedure ……
begin
……
color:=image1.canvas.pixels[i,j];
rgbpoint[i,j].r:=getrvalue(color);
rgbpoint[i,j].g:=getgvalue(color);
rgbpoint[i,j].b:=getbvalue(color);
……
red:=rgbpint[i,j].r+red;
green:=rgbpint[i,j].g+green;
blue:=rgbpoint[i,j].b+blue;
……
bitmap.canvas.pixels[i,j]:=rgb(red div ?,green div ?,blue div ?); // ? 代表一共有几个点,就是点的个数。
image2.picture.bitmap.assign(bitmap);
……



 
其实rgbpoint定义成一个变量直接累加就行了,
这样也省的数组浪费内存。

顶楼的好像无法访问点的颜色值?

 
非常感谢!
 
多人接受答案了。
 

Similar threads

S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
I
回复
0
查看
748
import
I
后退
顶部