protected unsafe override void RenderLine(ISurface src, ISurface dest, Rectangle roi) { blur_effect.Render(src, dest, roi); contrast_effect.Render(dest, dest, roi); for (var y = roi.Top; y <= roi.Bottom; ++y) { var dstPtr = dest.GetPointAddress(roi.Left, y); var srcPtr = src.GetPointAddress(roi.Left, y); screen_op.Apply(srcPtr, dstPtr, dstPtr, roi.Width); } }
public void ScreenBlendOp2() { var lhs = GetSourceImage("blend1.png"); var rhs = GetSourceImage("blend2.png"); var lhs_wrap = new BitmapWrapper(lhs); var rhs_wrap = new BitmapWrapper(rhs); var op = new ScreenBlendOp(); op.Apply(rhs_wrap, lhs_wrap); Compare(lhs, "screenblend2.png"); }