internal PixelFormat(PixelFormatEnum format) { _format = format; _flags = GetPixelFormatFlagsFromEnum(format); _bitsPerPixel = GetBitsPerPixelFromEnum(format); _guidFormat = new SecurityCriticalDataForSet <Guid> (PixelFormat.GetGuidFromFormat(format)); }
public static bool GetPixelFormatIndexed(PixelFormatEnum pixelFormatEnum) { switch (pixelFormatEnum) { case (PixelFormatEnum.Indexed4): case (PixelFormatEnum.Indexed4Reverse): case (PixelFormatEnum.Indexed8): return(true); default: return(false); } }
public static int GetPixelFormatBPP(PixelFormatEnum pixelFormatEnum) { switch (pixelFormatEnum) { case (PixelFormatEnum.Indexed4): case (PixelFormatEnum.Indexed4Reverse): return(4); case (PixelFormatEnum.Indexed8): return(8); case (PixelFormatEnum.Bgra32): case (PixelFormatEnum.Rgba32): case (PixelFormatEnum.Rgba32PS2): case (PixelFormatEnum.Argb32): return(32); default: return(0); } }
static private PixelFormatFlags GetPixelFormatFlagsFromEnum(PixelFormatEnum pixelFormatEnum) { switch (pixelFormatEnum) { case PixelFormatEnum.Default: return(PixelFormatFlags.BitsPerPixelUndefined); case PixelFormatEnum.Indexed1: return(PixelFormatFlags.BitsPerPixel1 | PixelFormatFlags.Palettized); case PixelFormatEnum.Indexed2: return(PixelFormatFlags.BitsPerPixel2 | PixelFormatFlags.Palettized); case PixelFormatEnum.Indexed4: return(PixelFormatFlags.BitsPerPixel4 | PixelFormatFlags.Palettized); case PixelFormatEnum.Indexed8: return(PixelFormatFlags.BitsPerPixel8 | PixelFormatFlags.Palettized); case PixelFormatEnum.BlackWhite: return(PixelFormatFlags.BitsPerPixel1 | PixelFormatFlags.IsGray); case PixelFormatEnum.Gray2: return(PixelFormatFlags.BitsPerPixel2 | PixelFormatFlags.IsGray); case PixelFormatEnum.Gray4: return(PixelFormatFlags.BitsPerPixel4 | PixelFormatFlags.IsGray); case PixelFormatEnum.Gray8: return(PixelFormatFlags.BitsPerPixel8 | PixelFormatFlags.IsGray); case PixelFormatEnum.Bgr555: return(PixelFormatFlags.BitsPerPixel16 | PixelFormatFlags.IsSRGB | PixelFormatFlags.ChannelOrderBGR); case PixelFormatEnum.Bgr565: return(PixelFormatFlags.BitsPerPixel16 | PixelFormatFlags.IsSRGB | PixelFormatFlags.ChannelOrderBGR); case PixelFormatEnum.Bgr101010: return(PixelFormatFlags.BitsPerPixel32 | PixelFormatFlags.IsSRGB | PixelFormatFlags.ChannelOrderBGR); case PixelFormatEnum.Bgr24: return(PixelFormatFlags.BitsPerPixel24 | PixelFormatFlags.IsSRGB | PixelFormatFlags.ChannelOrderBGR); case PixelFormatEnum.Rgb24: return(PixelFormatFlags.BitsPerPixel24 | PixelFormatFlags.IsSRGB | PixelFormatFlags.ChannelOrderRGB); case PixelFormatEnum.Bgr32: return(PixelFormatFlags.BitsPerPixel32 | PixelFormatFlags.IsSRGB | PixelFormatFlags.ChannelOrderBGR); case PixelFormatEnum.Bgra32: return(PixelFormatFlags.BitsPerPixel32 | PixelFormatFlags.IsSRGB | PixelFormatFlags.ChannelOrderABGR); case PixelFormatEnum.Pbgra32: return(PixelFormatFlags.BitsPerPixel32 | PixelFormatFlags.IsSRGB | PixelFormatFlags.Premultiplied | PixelFormatFlags.ChannelOrderABGR); case PixelFormatEnum.Rgb48: return(PixelFormatFlags.BitsPerPixel48 | PixelFormatFlags.IsSRGB | PixelFormatFlags.ChannelOrderRGB); case PixelFormatEnum.Rgba64: return(PixelFormatFlags.BitsPerPixel64 | PixelFormatFlags.IsSRGB | PixelFormatFlags.ChannelOrderARGB); case PixelFormatEnum.Prgba64: return(PixelFormatFlags.BitsPerPixel64 | PixelFormatFlags.IsSRGB | PixelFormatFlags.Premultiplied | PixelFormatFlags.ChannelOrderARGB); case PixelFormatEnum.Gray16: return(PixelFormatFlags.BitsPerPixel16 | PixelFormatFlags.IsSRGB | PixelFormatFlags.IsGray); case PixelFormatEnum.Gray32Float: return(PixelFormatFlags.BitsPerPixel32 | PixelFormatFlags.IsScRGB | PixelFormatFlags.IsGray); case PixelFormatEnum.Rgb128Float: return(PixelFormatFlags.BitsPerPixel128 | PixelFormatFlags.IsScRGB | PixelFormatFlags.ChannelOrderRGB); case PixelFormatEnum.Rgba128Float: return(PixelFormatFlags.BitsPerPixel128 | PixelFormatFlags.IsScRGB | PixelFormatFlags.ChannelOrderARGB); case PixelFormatEnum.Prgba128Float: return(PixelFormatFlags.BitsPerPixel128 | PixelFormatFlags.IsScRGB | PixelFormatFlags.Premultiplied | PixelFormatFlags.ChannelOrderARGB); case PixelFormatEnum.Cmyk32: return(PixelFormatFlags.BitsPerPixel32 | PixelFormatFlags.IsCMYK); } // 3rd party pixel format -- we don't expose anything about it. return(PixelFormatFlags.BitsPerPixelUndefined); }
/// <summary> /// Convert from the internal enum to the actual PixelFormat value. /// </summary> /// <param name="pixelFormatEnum"></param> /// <returns></returns> internal static PixelFormat GetPixelFormat(PixelFormatEnum pixelFormatEnum) { switch (pixelFormatEnum) { case PixelFormatEnum.Indexed1: return(PixelFormats.Indexed1); case PixelFormatEnum.Indexed2: return(PixelFormats.Indexed2); case PixelFormatEnum.Indexed4: return(PixelFormats.Indexed4); case PixelFormatEnum.Indexed8: return(PixelFormats.Indexed8); case PixelFormatEnum.BlackWhite: return(PixelFormats.BlackWhite); case PixelFormatEnum.Gray2: return(PixelFormats.Gray2); case PixelFormatEnum.Gray4: return(PixelFormats.Gray4); case PixelFormatEnum.Gray8: return(PixelFormats.Gray8); case PixelFormatEnum.Bgr555: return(PixelFormats.Bgr555); case PixelFormatEnum.Bgr565: return(PixelFormats.Bgr565); case PixelFormatEnum.Bgr101010: return(PixelFormats.Bgr101010); case PixelFormatEnum.Bgr24: return(PixelFormats.Bgr24); case PixelFormatEnum.Rgb24: return(PixelFormats.Rgb24); case PixelFormatEnum.Bgr32: return(PixelFormats.Bgr32); case PixelFormatEnum.Bgra32: return(PixelFormats.Bgra32); case PixelFormatEnum.Pbgra32: return(PixelFormats.Pbgra32); case PixelFormatEnum.Rgb48: return(PixelFormats.Rgb48); case PixelFormatEnum.Rgba64: return(PixelFormats.Rgba64); case PixelFormatEnum.Prgba64: return(PixelFormats.Prgba64); case PixelFormatEnum.Gray16: return(PixelFormats.Gray16); case PixelFormatEnum.Gray32Float: return(PixelFormats.Gray32Float); case PixelFormatEnum.Rgb128Float: return(PixelFormats.Rgb128Float); case PixelFormatEnum.Rgba128Float: return(PixelFormats.Rgba128Float); case PixelFormatEnum.Prgba128Float: return(PixelFormats.Prgba128Float); case PixelFormatEnum.Cmyk32: return(PixelFormats.Cmyk32); } return(PixelFormats.Default); }
static private Guid GetGuidFromFormat(PixelFormatEnum format) { switch (format) { case PixelFormatEnum.Default: return(WICPixelFormatGUIDs.WICPixelFormatDontCare); case PixelFormatEnum.Indexed1: return(WICPixelFormatGUIDs.WICPixelFormat1bppIndexed); case PixelFormatEnum.Indexed2: return(WICPixelFormatGUIDs.WICPixelFormat2bppIndexed); case PixelFormatEnum.Indexed4: return(WICPixelFormatGUIDs.WICPixelFormat4bppIndexed); case PixelFormatEnum.Indexed8: return(WICPixelFormatGUIDs.WICPixelFormat8bppIndexed); case PixelFormatEnum.BlackWhite: return(WICPixelFormatGUIDs.WICPixelFormatBlackWhite); case PixelFormatEnum.Gray2: return(WICPixelFormatGUIDs.WICPixelFormat2bppGray); case PixelFormatEnum.Gray4: return(WICPixelFormatGUIDs.WICPixelFormat4bppGray); case PixelFormatEnum.Gray8: return(WICPixelFormatGUIDs.WICPixelFormat8bppGray); case PixelFormatEnum.Bgr555: return(WICPixelFormatGUIDs.WICPixelFormat16bppBGR555); case PixelFormatEnum.Bgr565: return(WICPixelFormatGUIDs.WICPixelFormat16bppBGR565); case PixelFormatEnum.Bgr24: return(WICPixelFormatGUIDs.WICPixelFormat24bppBGR); case PixelFormatEnum.Rgb24: return(WICPixelFormatGUIDs.WICPixelFormat24bppRGB); case PixelFormatEnum.Bgr101010: return(WICPixelFormatGUIDs.WICPixelFormat32bppBGR101010); case PixelFormatEnum.Bgr32: return(WICPixelFormatGUIDs.WICPixelFormat32bppBGR); case PixelFormatEnum.Bgra32: return(WICPixelFormatGUIDs.WICPixelFormat32bppBGRA); case PixelFormatEnum.Pbgra32: return(WICPixelFormatGUIDs.WICPixelFormat32bppPBGRA); case PixelFormatEnum.Rgb48: return(WICPixelFormatGUIDs.WICPixelFormat48bppRGB); case PixelFormatEnum.Rgba64: return(WICPixelFormatGUIDs.WICPixelFormat64bppRGBA); case PixelFormatEnum.Prgba64: return(WICPixelFormatGUIDs.WICPixelFormat64bppPRGBA); case PixelFormatEnum.Gray16: return(WICPixelFormatGUIDs.WICPixelFormat16bppGray); case PixelFormatEnum.Gray32Float: return(WICPixelFormatGUIDs.WICPixelFormat32bppGrayFloat); case PixelFormatEnum.Rgb128Float: return(WICPixelFormatGUIDs.WICPixelFormat128bppRGBFloat); case PixelFormatEnum.Rgba128Float: return(WICPixelFormatGUIDs.WICPixelFormat128bppRGBAFloat); case PixelFormatEnum.Prgba128Float: return(WICPixelFormatGUIDs.WICPixelFormat128bppPRGBAFloat); case PixelFormatEnum.Cmyk32: return(WICPixelFormatGUIDs.WICPixelFormat32bppCMYK); } throw new System.ArgumentException(SR.Get(SRID.Image_BadPixelFormat, format), "format"); }
/// <summary> /// Construct a pixel format from a string that represents the format. /// The purpose of this method is only for deserialization of PixelFormat. /// The preferred way to construct a PixelFormat is with the PixelFormats class. /// </summary> /// <param name="pixelFormatString"></param> internal PixelFormat(string pixelFormatString) { PixelFormatEnum format = PixelFormatEnum.Default; if (pixelFormatString == null) { throw new System.ArgumentNullException("pixelFormatString"); } string upperPixelFormatString = pixelFormatString.ToUpper(System.Globalization.CultureInfo.InvariantCulture); switch (upperPixelFormatString) { case "DEFAULT": format = PixelFormatEnum.Default; break; case "EXTENDED": format = PixelFormatEnum.Extended; break; case "INDEXED1": format = PixelFormatEnum.Indexed1; break; case "INDEXED2": format = PixelFormatEnum.Indexed2; break; case "INDEXED4": format = PixelFormatEnum.Indexed4; break; case "INDEXED8": format = PixelFormatEnum.Indexed8; break; case "BLACKWHITE": format = PixelFormatEnum.BlackWhite; break; case "GRAY2": format = PixelFormatEnum.Gray2; break; case "GRAY4": format = PixelFormatEnum.Gray4; break; case "GRAY8": format = PixelFormatEnum.Gray8; break; case "BGR555": format = PixelFormatEnum.Bgr555; break; case "BGR565": format = PixelFormatEnum.Bgr565; break; case "BGR24": format = PixelFormatEnum.Bgr24; break; case "RGB24": format = PixelFormatEnum.Rgb24; break; case "BGR101010": format = PixelFormatEnum.Bgr101010; break; case "BGR32": format = PixelFormatEnum.Bgr32; break; case "BGRA32": format = PixelFormatEnum.Bgra32; break; case "PBGRA32": format = PixelFormatEnum.Pbgra32; break; case "RGB48": format = PixelFormatEnum.Rgb48; break; case "RGBA64": format = PixelFormatEnum.Rgba64; break; case "PRGBA64": format = PixelFormatEnum.Prgba64; break; case "GRAY16": format = PixelFormatEnum.Gray16; break; case "GRAY32FLOAT": format = PixelFormatEnum.Gray32Float; break; case "RGB128FLOAT": format = PixelFormatEnum.Rgb128Float; break; case "RGBA128FLOAT": format = PixelFormatEnum.Rgba128Float; break; case "PRGBA128FLOAT": format = PixelFormatEnum.Prgba128Float; break; case "CMYK32": format = PixelFormatEnum.Cmyk32; break; default: throw new System.ArgumentException(SR.Get(SRID.Image_BadPixelFormat, pixelFormatString), "pixelFormatString"); } _format = format; _flags = GetPixelFormatFlagsFromEnum(format); _bitsPerPixel = GetBitsPerPixelFromEnum(format); _guidFormat = new SecurityCriticalDataForSet <Guid> (PixelFormat.GetGuidFromFormat(format)); }
static private UInt32 GetBitsPerPixelFromEnum(PixelFormatEnum pixelFormatEnum) { switch (pixelFormatEnum) { case PixelFormatEnum.Default: return(0); case PixelFormatEnum.Indexed1: return(1); case PixelFormatEnum.Indexed2: return(2); case PixelFormatEnum.Indexed4: return(4); case PixelFormatEnum.Indexed8: return(8); case PixelFormatEnum.BlackWhite: return(1); case PixelFormatEnum.Gray2: return(2); case PixelFormatEnum.Gray4: return(4); case PixelFormatEnum.Gray8: return(8); case PixelFormatEnum.Bgr555: case PixelFormatEnum.Bgr565: return(16); case PixelFormatEnum.Bgr101010: return(32); case PixelFormatEnum.Bgr24: case PixelFormatEnum.Rgb24: return(24); case PixelFormatEnum.Bgr32: case PixelFormatEnum.Bgra32: case PixelFormatEnum.Pbgra32: return(32); case PixelFormatEnum.Rgb48: return(48); case PixelFormatEnum.Rgba64: case PixelFormatEnum.Prgba64: return(64); case PixelFormatEnum.Gray16: return(16); case PixelFormatEnum.Gray32Float: return(32); case PixelFormatEnum.Rgb128Float: case PixelFormatEnum.Rgba128Float: case PixelFormatEnum.Prgba128Float: return(128); case PixelFormatEnum.Cmyk32: return(32); } // 3rd party pixel format -- we don't expose anything about it. return(0); }
internal static extern int /* HRESULT */ CreateBitmapRenderTarget( IntPtr THIS_PTR, UInt32 width, UInt32 height, PixelFormatEnum pixelFormatEnum, float dpiX, float dpiY, MILRTInitializationFlags dwFlags, out SafeMILHandle /* IMILRenderTargetBitmap */ ppIRenderTargetBitmap);
private static PixelFormat ReadPixelFormat(BinaryReader reader) { PixelFormatEnum format = (PixelFormatEnum)reader.ReadByte(); switch (format) { case PixelFormatEnum.Bgr101010: return(PixelFormats.Bgr101010); case PixelFormatEnum.Bgr24: return(PixelFormats.Bgr24); case PixelFormatEnum.Bgr32: return(PixelFormats.Bgr32); case PixelFormatEnum.Bgr555: return(PixelFormats.Bgr555); case PixelFormatEnum.Bgr565: return(PixelFormats.Bgr565); case PixelFormatEnum.Bgra32: return(PixelFormats.Bgra32); case PixelFormatEnum.BlackWhite: return(PixelFormats.BlackWhite); case PixelFormatEnum.Cmyk32: return(PixelFormats.Cmyk32); case PixelFormatEnum.Default: return(PixelFormats.Default); case PixelFormatEnum.Gray16: return(PixelFormats.Gray16); case PixelFormatEnum.Gray2: return(PixelFormats.Gray2); case PixelFormatEnum.Gray32Float: return(PixelFormats.Gray32Float); case PixelFormatEnum.Gray4: return(PixelFormats.Gray4); case PixelFormatEnum.Gray8: return(PixelFormats.Gray8); case PixelFormatEnum.Indexed1: return(PixelFormats.Indexed1); case PixelFormatEnum.Indexed2: return(PixelFormats.Indexed2); case PixelFormatEnum.Indexed4: return(PixelFormats.Indexed4); case PixelFormatEnum.Indexed8: return(PixelFormats.Indexed8); case PixelFormatEnum.Pbgra32: return(PixelFormats.Pbgra32); case PixelFormatEnum.Prgba128Float: return(PixelFormats.Prgba128Float); case PixelFormatEnum.Prgba64: return(PixelFormats.Prgba64); case PixelFormatEnum.Rgb128Float: return(PixelFormats.Rgb128Float); case PixelFormatEnum.Rgb24: return(PixelFormats.Rgb24); case PixelFormatEnum.Rgb48: return(PixelFormats.Rgb48); case PixelFormatEnum.Rgba128Float: return(PixelFormats.Rgba128Float); case PixelFormatEnum.Rgba64: return(PixelFormats.Rgba64); default: throw new SerializerException(string.Format("Unsupported PixelFormat: {0}", format.ToString())); } }
public static void TexImage2D(TextureTarget target, int level, InternalPixelFormat internalFormat, int width, int height, int border, PixelFormatEnum format, PixelType type, IntPtr pixelPtr) { Delegates.TexImage2D(target, level, internalFormat, width, height, border, format, type, pixelPtr); }
internal PixelFormat(PixelFormatEnum pixelFormatEnum) { BitsPerPixel = PixelFormatHelper.GetPixelFormatBPP(pixelFormatEnum); IsIndexed = PixelFormatHelper.GetPixelFormatIndexed(pixelFormatEnum); Format = pixelFormatEnum; }