我正在使用Windows Phone 8.1开发应用程序,我将PictureLibrary中的图像加载到BitmapImage中并以150像素的正方形显示。
我需要的是能够在选择图像后打开一个控件,用户可以选择一个区域将图像裁剪为150像素的正方形,类似于this。
如果我使用的是Windows Phone 8,我可以使用PhotoChooserTask实现这一点,如this question中所述。
Lumia Imaging SDK的测试版具有EditingSession,如here所示,但仅在SDK处于测试版时才可用,如here所述。
似乎没有内置的Windows Phone 8.1控件来执行此操作,也不是一种简单的方法。
答案 0 :(得分:1)
我不知道为您执行此操作的UI控件。要使用Lumia Imaging SDK裁剪图像,请将cropFilter添加到FilterEffect并渲染它。从源代码开始,我将假设您将拥有一个StorageFile,因此StorageFileImageSource将非常适合您。
StorageFile sourceFile = ...
using (var source = new StorageFileImageSource(sourceFile))
using (var filterEffect = new FilterEffect(source))
using (var renderer = new JpegRenderer(filterEffect))
{
filterEffect.Filters = new [] { new CropFilter(x, y, 150, 150));
var result = await renderer.RenderAsync();
}
要熟悉Lumia Imaging SDK,我建议从Core Concepts documentation page
开始