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;
    }

还有一件事,我将如何实现撤销过滤器选项?

windows phone 8 -应用照片滤镜前预览

你可以这样做:

 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作为源