我可以用图像填充矩形,然后使用此代码在图像顶部应用蒙版
args.DrawingSession.FillRectangle(rect, imgRnd, mask);
我需要对此图像应用一些变换,我能够做到这一点没有问题,但我遇到了一个奇怪的问题,最后一个像素重复。
我用过
imgRnd.ExtendX = CanvasEdgeBehavior.Wrap;
imgRnd.ExtendY = CanvasEdgeBehavior.Wrap;
并且图像不断重复。
我的问题是:有一种方法可以将图像禁用一次并ExtendX
和ExtendY
?
答案 0 :(得分:1)
FillRectangle将始终填充指定矩形内的所有像素。边缘行为枚举控制它们填充的值,如果图像被定位使得它不完全覆盖正在绘制的矩形。
你究竟是如何改造图像的?您是否可以更改它以转换矩形本身,因此您不会尝试填充图像未覆盖的像素?
另一个选择是使用图像效果(Microsoft.Graphics.Canvas.Effects命名空间),它提供比FillRectangle更详细的控制,而不是如何转换,组合等多个图像。