2

我正在使用 Windows Phone 8.1 开发一个应用程序,我将 PictureLibrary 中的图像加载到 BitmapImage 中,并将其显示在 150 像素的正方形中。

我需要的是能够在选择图像后打开一个控件,用户可以在其中选择一个区域以将图像裁剪为 150 像素正方形,类似于this

如果我使用的是 Windows Phone 8,我可以使用 PhotoChooserTask 来实现这一点,正如这个问题中所指出的那样。

Lumia Imaging SDK 的 beta 版具有 EditingSession,如此处所示但它仅在 SDK 处于 beta 版时可用,如此处回答

似乎没有内置的 Windows Phone 8.1 控件来执行此操作,也没有简单的方法来执行此操作。

4

1 回答 1

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 文档页面开始

于 2015-08-29T15:12:51.233 回答