有没有人知道如何在没有任何库的情况下在silverlight中进行裁剪。
我有子窗口,在子窗口内我有一个图像,这个图像中心有一个矩形在那里我可以将图像平移到矩形周围并选择图像的特定部分和我想要的这个选定部分作物。
此外我正在使用WriteableBitmap并尝试裁剪,如果我纠正错误,这将无效。
sheetRectangle.Children是Image。
foreach (ucPicRect item in sheetRectangle.Children)
{
WriteableBitmap obj = new WriteableBitmap(item.imgCell.Source as BitmapSource);
obj.Crop(0,0,400,400);
obj.Invalidate();
item.imgCell.Effect = dlgcwEditPhoto.imgEdit.Effect;
item.imgCell.Source = obj;// dlgcwEditPhoto.imgEdit.Source;
}
...谢谢!
答案 0 :(得分:0)
您可以使用此实用程序功能裁剪图像
public static WriteableBitmap cropImage(Image image, double[] coordonnee)
{
Image cloneImage = new Image();
cloneImage.Source = image.Source;
RectangleGeometry myRec = new RectangleGeometry();
myRec.Rect = new Rect(coordonnee[0], coordonnee[1], coordonnee[2], coordonnee[3]);
cloneImage.Clip = myRec;
TranslateTransform t = new TranslateTransform();
t.X = -coordonnee[0];
t.Y = -coordonnee[1];
WriteableBitmap wb = new WriteableBitmap(cloneImage, t);
wb.Invalidate();
return wb;
}
祝你好运!!