利用TBDBitmapData对象查找两张图片上的不同
2010-09-14 13:29
447 查看
利用TBDBitmapData对象查找两张图片上的不同,从右上角开始利用双层循环遍历两图上的所有象素点,并相互比较。不完整代码如下:
procedure TForm1.Button5Click(Sender: TObject);
var
Bmp1,Bmp2 : TBDBitmapData;
Left,Top : Integer;
IsExit : Boolean;
begin
Bmp1:=TBDBitmapData.Create;
Bmp2:=TBDBitmapData.Create;
Bmp1.LoadFromFile('文件名1');
Bmp2.LoadFromFile('文件名2');
//假设两张图片一样大
IsExit:=false;
for Top:=0 to Bmp1.Height-1 do
begin
for Left:=0 to Bmp1.Width-1 do
begin
if Bmp1[Left,Top]<>Bmp2[Left,Top] then
begin
//在(Left,Top)位置两张图片有不同
//相应的处理...
if {如果不继续查找其它不同} then
begin
IsExit:=true; //用以退出循环
break;
end;
end;
end;
if IsExit then break;
end;
Bmp1.Free;
Bmp2.Free;
end;
以上代码不完整,可以根据需要进行修改,TBDBitmapData的其它详细使用方法可以参考:Delphi下实现全屏快速找图找色
procedure TForm1.Button5Click(Sender: TObject);
var
Bmp1,Bmp2 : TBDBitmapData;
Left,Top : Integer;
IsExit : Boolean;
begin
Bmp1:=TBDBitmapData.Create;
Bmp2:=TBDBitmapData.Create;
Bmp1.LoadFromFile('文件名1');
Bmp2.LoadFromFile('文件名2');
//假设两张图片一样大
IsExit:=false;
for Top:=0 to Bmp1.Height-1 do
begin
for Left:=0 to Bmp1.Width-1 do
begin
if Bmp1[Left,Top]<>Bmp2[Left,Top] then
begin
//在(Left,Top)位置两张图片有不同
//相应的处理...
if {如果不继续查找其它不同} then
begin
IsExit:=true; //用以退出循环
break;
end;
end;
end;
if IsExit then break;
end;
Bmp1.Free;
Bmp2.Free;
end;
以上代码不完整,可以根据需要进行修改,TBDBitmapData的其它详细使用方法可以参考:Delphi下实现全屏快速找图找色
相关文章推荐
- Flex中如何利用Bitmap和BitmapData类复制图片到一个TileList控件的例子
- Flex中利用ByteArray与BitmapData互相转换实现图片的二进制保存与复原[转]
- Flex中利用ByteArray与BitmapData互相转换实现图片的二进制保存与复原
- c++提取两张相同背景的bitmap的不同部分 -->找茬游戏其实很简单,自动提取不同图片部分就OK了
- 使用opencv查找两张图片不同的部分
- [ActionScript 3.0] 通过BitmapData将对象保存成jpg图片
- Flex中利用ByteArray与BitmapData互相转换实现图片的二进制保存与复原
- Flex中利用ByteArray与BitmapData互相转换实现图片的二进制保存与复原
- Flex中利用ByteArray与BitmapData互相转换实现图片的二进制保存与复原
- Flex 利用bitmap和bitmapData改变图片为黑白画
- Flex中利用ByteArray与BitmapData互相转换实现图片的二进制保存与复原
- 利用html5的FileReader对象实现图片预览,利用FormData对象结合struts2实现无刷新文件上传(多参数)
- 利用formdata实现一个input 上传类型 上传多个图片
- Flex中ByteArray与BitmapData互相转换实现图片的二进制保存与复原
- 利用layer前端组件1.8版本和3.0版本去做显示图片效果的不同
- 使用FormData对象提交表单及上传图片
- 【Shader】利用mask图片中的不同颜色通道改变模型显示
- 如何利用TTThumbsViewController实现显示不同数量的图片?
- js利用数组创建图片对象
- 利用selector设置ImageButton不同状态下的背景图片