public static System.Drawing.Color[] CreatePallete(Color color, AuxiliaryLibraries.Media.PixelFormat pixelformat) { int colorcount = 0; byte step = 0; if (pixelformat == AuxiliaryLibraries.Media.PixelFormats.Indexed4) { colorcount = 16; step = 0x10; } else if (pixelformat == AuxiliaryLibraries.Media.PixelFormats.Indexed8) { colorcount = 256; step = 1; } List <System.Drawing.Color> ColorBMP = new List <System.Drawing.Color>(); ColorBMP.Add(System.Drawing.Color.FromArgb(0, 0, 0, 0)); for (int i = 1; i < colorcount; i++) { ColorBMP.Add(System.Drawing.Color.FromArgb( ByteTruncate(i * step), color.R, color.G, color.B)); } return(ColorBMP.ToArray()); }
public static BitmapSource GetBitmapSource(this AuxiliaryLibraries.Media.Bitmap bitmap) { if (bitmap == null) { throw new ArgumentNullException("bitmap"); } PixelFormat pix = AuxToWPF(bitmap.PixelFormat); if (pix != PixelFormats.Default) { Color[] colors = bitmap.CopyPalette()?.Select(x => Color.FromArgb(x.A, x.R, x.G, x.B)).ToArray(); return(BitmapSource.Create(bitmap.Width, bitmap.Height, 96, 96, pix, colors == null ? null : new BitmapPalette(colors), bitmap.CopyData(), AuxiliaryLibraries.Media.ImageHelper.GetStride(bitmap.PixelFormat, bitmap.Width))); } else { AuxiliaryLibraries.Media.PixelFormat compPix = AuxToWPFComp(bitmap.PixelFormat); if (compPix != AuxiliaryLibraries.Media.PixelFormats.Undefined) { return(bitmap.ConvertTo(compPix, null).GetBitmapSource()); } } return(bitmap.ConvertTo(AuxiliaryLibraries.Media.PixelFormats.Bgra32, null).GetBitmapSource()); }
public static AuxiliaryLibraries.Media.PixelFormat AuxToWPFComp(AuxiliaryLibraries.Media.PixelFormat pixelFormat) { if (AuxToWPFCompdic.ContainsKey(pixelFormat)) { return(AuxToWPFCompdic[pixelFormat]); } else { return(AuxiliaryLibraries.Media.PixelFormats.Undefined); } }
public static PixelFormat AuxToWPF(AuxiliaryLibraries.Media.PixelFormat pixelFormat) { if (AuxToWPFdic.ContainsKey(pixelFormat)) { return(AuxToWPFdic[pixelFormat]); } else { return(PixelFormats.Default); } }
public static AuxiliaryLibraries.Media.Bitmap GetBitmap(this BitmapSource bitmapSource) { AuxiliaryLibraries.Media.PixelFormat pix = WPFToAux(bitmapSource.Format); if (pix != AuxiliaryLibraries.Media.PixelFormats.Undefined) { var colors = bitmapSource.Palette?.Colors.Select(x => System.Drawing.Color.FromArgb(x.A, x.R, x.G, x.B)).ToArray(); return(new AuxiliaryLibraries.Media.Bitmap(bitmapSource.PixelWidth, bitmapSource.PixelHeight, pix, bitmapSource.GetData(), colors)); } else { FormatConvertedBitmap formatConvertedBitmap = new FormatConvertedBitmap(bitmapSource, PixelFormats.Bgra32, null, 0); return(formatConvertedBitmap.GetBitmap()); } }