PhotoChooserTask可以实现系统相册的相片选取,设置ShowCamera属性为true则可以在打开系统相册时提供拍照功能,设置HeadImagePixelHeight和HeadImagePixelWidth属性则可以实现图片的截取功能。设定了图片的尺寸后,选定的图片会出现一个矩形截取区域,在保存后系统会自动完成图片选中区域的截取操作。
代码示例:
private void OnSelectPictureBtnClick(object sender, EventArgs e)
{
if (m_PhotoChooserTask == null)
{
m_PhotoChooserTask = new PhotoChooserTask();
m_PhotoChooserTask.PixelHeight = HeadImagePixelHeight;
m_PhotoChooserTask.PixelWidth = HeadImagePixelWidth;
m_PhotoChooserTask.ShowCamera = true;
}
m_PhotoChooserTask.Completed -= OnPhotoChooserTaskComplete;
m_PhotoChooserTask.Completed += OnPhotoChooserTaskComplete;
try
{
m_PhotoChooserTask.Show();
}
catch
{
// 打开系统相册失败
}
}
/// <summary>
/// 从相册中完成获取图像
/// </summary>
private void OnPhotoChooserTaskComplete(object sender, PhotoResult e)
{
m_PhotoChooserTask.Completed -= OnPhotoChooserTaskComplete;
if (e.TaskResult == TaskResult.OK)
{
// do something
}
}
截取效果如下图所示:
这个功能,用户体验和ios系统灰常类似。