繁体   English   中英

使用C#在Windows 8 Metro应用中的Instagram Photo Effects

[英]Instagram Photo Effects in Windows 8 metro apps using c#

我需要实现Instagram照片效果,例如amaro,hudson,棕褐色,rise等。 我知道本文仅使用基本效果: http : //code.msdn.microsoft.com/windowsdesktop/Metro-Style-lightweight-24589f50

人们建议的另一种方法是实现Direct2d,然后使用它进行应用。 但是为此,我将需要编写零经验的C ++代码。

谁能建议其他方法在C#中实现Instagram效果?

是否有内置的c ++文件来实现这些效果?

请从CodeProject中查看以下示例: Metro Style轻型图像处理

上面的示例包含这些图像效果。

  • 彩色滤光片
  • 浮雕
  • 阳光
  • 黑,白
  • 亮度
  • 油画颜料
  • 着色

请注意,上面的示例似乎是在Windows 8的开发人员预览版或发行版预览版上实现的。因此,您将收到类似这样的错误

'Windows.UI.Xaml.Media.Imaging.WriteableBitmap'不包含带有1个参数的构造函数

因此,您必须通过传递图像的像素高度和像素宽度来创建WriteableBitmap实例。 我已经编辑了示例,它正在为我工​​作。 您必须更改wb = new WriteableBitmap(bs); wb = await GetWB();

StorageFile originalImageFile;
WriteableBitmap cropBmp;
public async Task<WriteableBitmap> GetWB()
{
    if (originalImageFile != null)
    {
        //originalImageFile is the image either loaded from file or captured image.
        using (IRandomAccessStream stream = await originalImageFile.OpenReadAsync())
        {
            BitmapImage bmp = new BitmapImage();
            bmp.SetSource(stream);
            BitmapDecoder decoder = await BitmapDecoder.CreateAsync(stream);
            byte[] pixels = await GetPixelData(decoder, Convert.ToUInt32(bmp.PixelWidth), Convert.ToUInt32(bmp.PixelHeight));
            cropBmp = new WriteableBitmap(bmp.PixelWidth, bmp.PixelHeight);
            Stream pixStream = cropBmp.PixelBuffer.AsStream();
            pixStream.Write(pixels, 0, (int)(bmp.PixelWidth * bmp.PixelHeight * 4));
        } 
    }
    return cropBmp;
}

让我知道您是否遇到任何问题。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM