本人初步实现的方法 利用QTdemo里的例子Imege Composition里的QPainter::CompositionMode_Difference来实现。
大致思路是这样:QPainter::CompositionMode_Difference用来判断,demo里如果两幅图片一样则两个图片叠加后的效果是全部为黑色;假设大图片尺寸为200*200,小图片尺寸为50*50,从大图片的(0,0)坐标开始做循环判断依次切割小图片大小(即50*50)的区域与小图片叠加看是否全部为黑色,如果不是则从大图片的(0,1)坐标切割下幅图进行对比,直到找到叠加后的图片颜色显示全为黑色为止。
但是这样有个缺点:如果图片尺寸小的话还好,图片的尺寸大的话,循环数量级也大,时间慢。比如要:在1000*1000的大图片找一个100*100小图片的话 得找(1000-100+1)*(1000-100+1)次,差不多80多万次啊!暴汗~~~
希望哪位高手不吝指教一下,优化一下提高效率,小弟不胜感激!!!!