在我的Windows Phone应用中,用户可以使用PhotoChooserTask
选择照片,并通过指定photoChooserTask.PixelWidth
和photoChooserTask.PixelHeight
将其裁剪为所需尺寸。
但是,用户还可以通过图片的编辑按钮(使用Photos_Extra_Image_Editor
扩展程序)访问我的应用。问题是那些图像可以有任意尺寸,所以我也想在这里使用WP的内置裁剪机制。是否可以将PhotoChooserTask
配置为使用一个特定图像并跳过选择部分?或者是否有专门用于裁剪的任务?
答案 0 :(得分:1)
Nokia Imaging SDK有一些用于照片裁剪的内置控件。
以下是使用CropFilter类的示例:
async void CaptureTask_Completed(object sender, PhotoResult e)
{
// Create a source to read the image from PhotoResult stream
using (var source = new StreamImageSource(e.ChosenPhoto))
{
// Create effect collection with the source stream
using (var filters = new FilterEffect(source))
{
// Initialize the filter
var sampleFilter = new CropFilter(new Windows.Foundation.Rect(0, 0, 500, 500));
// Add the filter to the FilterEffect collection
filters.Filters = new IFilter[] { sampleFilter };
// Create a target where the filtered image will be rendered to
var target = new WriteableBitmap((int)ImageControl.ActualWidth, (int)ImageControl.ActualHeight);
// Create a new renderer which outputs WriteableBitmaps
using (var renderer = new WriteableBitmapRenderer(filters, target))
{
// Render the image with the filter(s)
await renderer.RenderAsync();
// Set the output image to Image control as a source
ImageControl.Source = target;
}
}
}
}