内置Windows Phone 8.1图像裁剪屏幕

时间:2015-08-29 04:15:47

标签: image windows-phone-8.1 crop lumia-imaging-sdk

我正在使用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控件来执行此操作,也不是一种简单的方法。

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

开始