这个是把图片里的每个像索点取出来,
可为什么我读出的递增值和生成的每个像索点的数量不一致?
X值为:2010372549
而输出memo1的颜色行数才有44369行?晕了。。
procedure TMainForm.Button1Click(Sender: TObject);
var
i,j,x:Integer;
begin
with Image1.Picture.Bitmap.Canvas.ClipRect do
begin
for i:= left to Right do
for j:= top To Bottom do
begin
Memo1.Lines.Add(ColorToString(Image1.Picture.Bitmap.Canvas.Pixels[i,j]));
Inc(x);
Application.ProcessMessages;
end;
end;
ShowMessage(IntToStr(x));
Image1.Refresh;
end;
解决方案 »
- delphi2010保存时会自动删除空方法?
- 怎样表示已经选中的组件?
- 如何返回当月的最大天数
- 如何得到当前反显的控件的名字,又任何使控件反显???
- PChar的函数调用简单问题
- 誰用過TidHttp、TidIMAP4這兩個控件,上來聊聊吧!!!(如果講的好,另開貼500分相贈)
- 我有个串口转发程序,有没有谁能帮我改一下,从串口一收到后去掉控制码向串口二发。
- 使用MSAGENT时,怎么才能在屏幕上出现两个一样的人物?比如两个MERLIN???
- 关于动态菜单!
- 乱码问题!用webbrower和tidhttp 取都不行,求解决
- 紧急求救:Delphi7如何实现在自己开发的窗体中播放PPT(Office2007)?
- 做大数据处理情况的方法?
var
i,j,x:Integer;
begin
with Image1.Picture.Bitmap.Canvas do
begin
for i:= 0 to Width - 1 do
for j:= 0 To Height - 1 do
begin
Memo1.Lines.Add(ColorToString(Image1.Picture.Bitmap.Canvas.Pixels[i,j]));
Inc(x);
Application.ProcessMessages;
end;
end;
ShowMessage(IntToStr(x));
Image1.Refresh;
end;
var
i,j,x,W,H:Integer;
c: TColor;
begin
W := Image1.Picture.Width;
H := Image1.Picture.Height;
//with do
x := 0;
begin
for i := 0 to W - 1 do
for j := 0 to H - 1 do
begin
c := Image1.Picture.Bitmap.Canvas.Pixels[i,j];
Memo1.Lines.Add(ColorToString(c));
Inc(x);
Application.ProcessMessages;
end;
end;
ShowMessage(IntToStr(x));
//Image1.Refresh;
end;