public static Guid ToWic(this Platform.PixelFormat format) { if (format == Platform.PixelFormat.Rgb565) return SharpDX.WIC.PixelFormat.Format16bppBGR565; if (format == Platform.PixelFormat.Bgra8888) return SharpDX.WIC.PixelFormat.Format32bppPBGRA; if (format == Platform.PixelFormat.Rgba8888) return SharpDX.WIC.PixelFormat.Format32bppPRGBA; throw new ArgumentException("Unknown pixel format"); }
public static Guid ToWic(this Platform.PixelFormat format, Platform.AlphaFormat alphaFormat) { bool isPremul = alphaFormat == AlphaFormat.Premul; if (format == Platform.PixelFormat.Rgb565) { return(SharpDX.WIC.PixelFormat.Format16bppBGR565); } if (format == Platform.PixelFormat.Bgra8888) { return(isPremul ? SharpDX.WIC.PixelFormat.Format32bppPBGRA : SharpDX.WIC.PixelFormat.Format32bppBGRA); } if (format == Platform.PixelFormat.Rgba8888) { return(isPremul ? SharpDX.WIC.PixelFormat.Format32bppPRGBA : SharpDX.WIC.PixelFormat.Format32bppRGBA); } throw new ArgumentException("Unknown pixel format"); }