Ngoài các câu trả lời trùng lặp,
Tôi tin rằng bạn cũng có thể sử dụng BitmapData.compare()
Một ví dụ lấy từ liên kết, hãy xem xét hai đối tượng BitmapData sau:
var bmd1:BitmapData = new BitmapData(50, 50, true, 0xFFFF8800);
var bmd2:BitmapData = new BitmapData(50, 50, true, 0xCCCC6600);
var diffBmpData:BitmapData = bmd1.compare(bmd2) as BitmapData;
trace ("0x" + diffBmpData.getPixel(0,0).toString(16); // 0x332200
Mẫu mã (đối với chênh lệch tỷ lệ phần trăm):
Đừng bao đúng kết quả là, đây là những gì tôi ủ lên cho một tỷ lệ phần trăm:
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();
nơi: thông tin là một TextBox, mc1 & mc2 hai movieclips trên sân khấu .
Tôi nghĩ bạn có thể làm cho nó tốt hơn bằng cách so sánh các giá trị riêng lẻ (ví dụ: pixel khác nhau bao nhiêu) thay vì boolean khớp pixel tương tự pixel.
Kết quả: (không gian trắng xung quanh hình ảnh tròn sẽ được bao gồm)
thể trùng lặp: http: // stackoverflow.com/questions/5427691/comparing-two-bitmaps-against-each-other-for-match-as3 – loxxy