加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

actionscript-3 – 比较两个图像并检查相等性

发布时间:2020-12-15 07:26:04 所属栏目:百科 来源:网络整理
导读:你知道有关在as3 / flash中比较图像的任何来源或信息吗? 我想比较两个图像并检查图像是否相同. 检查此示例: http://imageshack.us/photo/my-images/825/imagecompare.jpg/ 有线索吗?先感谢您! 解决方法 除了重复的答案, 我相信你也可以使用BitmapData.co
你知道有关在as3 / flash中比较图像的任何来源或信息吗?

我想比较两个图像并检查图像是否相同.

检查此示例:
http://imageshack.us/photo/my-images/825/imagecompare.jpg/

有线索吗?先感谢您!

解决方法

除了重复的答案,

我相信你也可以使用BitmapData.compare()

从链接中获取的示例,请考虑以下两个BitmapData对象:

var bmd1:BitmapData = new BitmapData(50,50,true,0xFFFF8800);
 var bmd2:BitmapData = new BitmapData(50,0xCCCC6600);
 var diffBmpData:BitmapData = bmd1.compare(bmd2) as BitmapData;
 trace ("0x" + diffBmpData.getPixel(0,0).toString(16); // 0x332200

代码示例(用于百分比差异):

不要结果如何正确,这是我酿造的百分比:

var bmd1:BitmapData = new BitmapData(225,225);
bmd1.draw(mc1);
var bmd2:BitmapData = new BitmapData(225,225);
bmd2.draw(mc2);

var diffBmpData:BitmapData = bmd1.compare(bmd2) as BitmapData;

var diff:int = 0;
var total:int = 225 * 225;

for(var i=0; i<225; i++)
    for(var j=0; j<225; j++)
        diff += (diffBmpData.getPixel(i,j) != 0)? 1 : 0; 

info.text = Math.round((diff / total * 100)).toString();

其中:info是TextBox,mc1& mc2是舞台上的两个动画片段.

我认为你可以通过比较单个值(即像素有多少不同)而不是布尔像素相似的匹配来使其更好.

结果:(将包括圆形图像周围的空白区域)

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读