コード例 #1
0
ファイル: BinaryPixelOp.cs プロジェクト: p07r0457/Pinta
        public void Apply(Cairo.ImageSurface dst, Cairo.ImageSurface lhs, Cairo.ImageSurface rhs)
        {
            if (dst.GetSize() != lhs.GetSize())
            {
                throw new ArgumentException("dst.Size != lhs.Size");
            }

            if (lhs.GetSize() != rhs.GetSize())
            {
                throw new ArgumentException("lhs.Size != rhs.Size");
            }

            unsafe {
                for (int y = 0; y < dst.Height; ++y)
                {
                    ColorBgra *dstPtr = dst.GetRowAddressUnchecked(y);
                    ColorBgra *lhsPtr = lhs.GetRowAddressUnchecked(y);
                    ColorBgra *rhsPtr = rhs.GetRowAddressUnchecked(y);

                    Apply(dstPtr, lhsPtr, rhsPtr, dst.Width);
                }
            }
        }
コード例 #2
0
ファイル: BinaryPixelOp.cs プロジェクト: p07r0457/Pinta
        public void Apply(Cairo.ImageSurface dst, Cairo.ImageSurface src)
        {
            if (dst.GetSize() != src.GetSize())
            {
                throw new ArgumentException("dst.Size != src.Size");
            }

            unsafe {
                for (int y = 0; y < dst.Height; ++y)
                {
                    ColorBgra *dstPtr = dst.GetRowAddressUnchecked(y);
                    ColorBgra *srcPtr = src.GetRowAddressUnchecked(y);
                    Apply(dstPtr, srcPtr, dst.Width);
                }
            }
        }