看起来这应该很简单,但我真的很难找到任何关于如何做到这一点的文档。我只是想裁剪图像以将正方形变成圆形。
有很多关于它的讨论,但我似乎找不到一个很好的例子来说明如何使用 UWP/Win2D 做到这一点。
这是一些代码来说明我在评论中试图描述的问题:
// draw a 10x10 grid of circles
var bitmap = await CanvasBitmap.LoadAsync(sender, "Assets/ice.png"); // hex-shaped image is 250x220 pixels
var brush = new CanvasImageBrush(sender, bitmap);
for (var i = 0; i < 10; i++)
{
for (var j = 0; j < 10; j++)
{
//_drawingSession.FillCircle(new Vector2(i * 50, j * 50), (float)(25), Colors.Blue);
_drawingSession.FillCircle(new Vector2(i * 50, j * 50), (float)(25), brush);
}
}
下图显示了如何根据要绘制目标圆的矢量从相同的 x/y 坐标切割画笔。
注意:FillEllipse() 也会产生同样的效果。