【发布时间】:2016-05-09 04:22:49
【问题描述】:
您好,我正在为 Windows 10 制作一个应用程序,该应用程序需要用户选择图像,并将图像裁剪为 310*128。我已经得到了文件选择器代码。但我想知道如何实际裁剪和保存图像并显示在图像框中。我已经完成了 xaml 页面
【问题讨论】:
标签: c# visual-studio windows-10-universal lumia-imaging-sdk
您好,我正在为 Windows 10 制作一个应用程序,该应用程序需要用户选择图像,并将图像裁剪为 310*128。我已经得到了文件选择器代码。但我想知道如何实际裁剪和保存图像并显示在图像框中。我已经完成了 xaml 页面
【问题讨论】:
标签: c# visual-studio windows-10-universal lumia-imaging-sdk
使用 Lumia Imaging SDK,您既可以裁剪所选图像,也可以调整图像大小。在这个答案中,我假设您实际上想要裁剪,但从文本中我也可以猜测您真的只是想调整大小。
对于裁剪,请使用 Lumia.Imaging.Transforms 中的 CropEffect。将其上的 CropArea 属性设置为对象,然后对其进行渲染。如果您直接呈现到 XAML 页面,我建议在 XAML 中使用 SwapChainPanel 对象并在其上呈现 SwapChainPanelRenderer。
鉴于您正在加载 StorageFile 并呈现到 SwapChainPanel,您的代码可能如下所示:
StorageFile file = ...
using (var source = new StorageFileImageSource(file))
using (var crop = new CropEffect(source, new Rect(0, 0, 310, 128))
using (var renderer = new SwapChainPanelRenderer(crop, YourSwapChainPanel))
{
await renderer.RenderAsync();
}
【讨论】: