2
如何使用自定义路径(在代码后面,而不是XAML中)在Silverlight中剪裁图像。 我有拼图一样的形状写在路径,并希望用它来剪辑任何图像。使用Silverlight中的路径剪裁图像
目前,它的工作原理是利用裁剪矩形,该代码是(C#):
private void UserControl_Loaded(object sender, RoutedEventArgs e)
{
int NUM_COLUMN = 8;
int NUM_ROW = 8;
double gridWidth = 60;
double gridHeight = 60;
string url = "Images/Sun.png";
// C#
for (int i = 0; i < NUM_COLUMN; i++)
{
for (int j = 0; j < NUM_ROW; j++)
{
double offsetX = (double)i * gridWidth;
double offsetY = (double)j * gridHeight;
Image image = new Image();
image.Source = new BitmapImage(new Uri(url, UriKind.Relative));
// clip the image
RectangleGeometry r = new RectangleGeometry();
r.Rect = new Rect(offsetX, offsetY, gridWidth, gridHeight);
image.Clip = r;
this.ClipCanvas.Children.Add(image);
}
}
}
只有一个Canvas
在XAML称为ClipCanvas
。
您可以提供您当前的代码或Xaml作为起点吗? –
是的。查看编辑的问题。 – Arterius