示例#1
0
        void DoDifference(Drawable sourceDrawable, Drawable toDiffDrawable)
        {
            _indexedColorsMap = new IndexedColorsMap();

            var rectangle = sourceDrawable.MaskBounds;
            var srcPR     = new PixelRgn(sourceDrawable, rectangle, true, true);
            var destPR    = new PixelRgn(toDiffDrawable, rectangle, false, false);

            var iterator = new RegionIterator(srcPR, destPR);

            iterator.ForEach((src, dest) => src.Set(MakeAbsDiff(dest, src)));

            sourceDrawable.Flush();
            sourceDrawable.MergeShadow(false);
            sourceDrawable.Update(rectangle);
        }
示例#2
0
        void DoDifference(Drawable sourceDrawable, Drawable toDiffDrawable)
        {
            _indexedColorsMap = new IndexedColorsMap();

              var rectangle = sourceDrawable.MaskBounds;
              var srcPR = new PixelRgn(sourceDrawable, rectangle, true, true);
              var destPR = new PixelRgn(toDiffDrawable, rectangle, false, false);

              var iterator = new RegionIterator(srcPR, destPR);
              iterator.ForEach((src, dest) => src.Set(MakeAbsDiff(dest, src)));

              sourceDrawable.Flush();
              sourceDrawable.MergeShadow(false);
              sourceDrawable.Update(rectangle);
        }