windows phone 8 -应用照片滤镜前预览
本文关键字:滤镜 照片 应用 phone windows | 更新日期: 2023-09-27 18:02:20
我使用Lumia Imaging SDK 2.0。
基本上我已经为一个特定的过滤器创建了一个矩形。当用户点击矩形,过滤器将被应用到它。
但是我的问题是:当用户点击其他过滤器时,之前的过滤器不会磨损。我想确保只有当用户双击矩形时,滤镜才会被永久应用,但当他点击矩形时,滤镜效果将被临时应用到照片上,以预览效果。当他选择其他过滤器时,之前的过滤器会磨损。我希望我说得够清楚了。
下面是我所做的代码:
private async void RecAntiqueFilter_Tapped(object sender, DoubleTappedRoutedEventArgs e)
{
var imageStream = new BitmapImageSource(originalBitmap.AsBitmap());
using (var effect = new FilterEffect(imageStream))
{
var filter = new AntiqueFilter();
effect.Filters = new[] { filter };
// Render the image to a WriteableBitmap.
var renderer = new WriteableBitmapRenderer(effect, originalBitmap);
editedBitmap = await renderer.RenderAsync();
editedBitmap.Invalidate();
}
Image.Source = editedBitmap;
}
还有一件事,我将如何实现撤销过滤器选项?
你可以这样做:
IList<IFilter> filtersList = new List<IFilter>();
if (filterEffect != null)
{
filterEffect.Dispose();
filterEffect = null;
}
filtersList.Remove(cartoonFilter);
filtersList.Clear();
filtersList.Add(cartoonFilter);
writeableBitmapTarget = new WriteableBitmap(imageTarget, null);
……并使用writeableBitmapTarget作为源