我有 BitmapImage,我需要将其裁剪为 200x200 大小的矩形。矩形应包含源 BitmapImage 的中心。我创建的唯一解决方案 CroppedBitmap 不适用于 Windows Phone。
另一种解决方案可能是创建一个 WriteableBitmap 并遍历每个像素,但我没有更简单的方法吗?
我有 BitmapImage,我需要将其裁剪为 200x200 大小的矩形。矩形应包含源 BitmapImage 的中心。我创建的唯一解决方案 CroppedBitmap 不适用于 Windows Phone。
另一种解决方案可能是创建一个 WriteableBitmap 并遍历每个像素,但我没有更简单的方法吗?
您可以使用WriteableBitmapExtension 库并使用非常容易使用的 Crop 函数。
以下代码加载内容文件“img.jpg”,然后对其进行裁剪,只保留中心 200x200 像素。
WriteableBitmap wb = new WriteableBitmap(1, 1);
wb = wb.FromContent("img.jpg");
wb = wb.Crop((wb.PixelWidth / 2) - 100, (wb.PixelHeight / 2) - 100, 200, 200);
我记得我在这里看到过类似问题的解决方案: