Esempio n. 1
0
        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());
        }
Esempio n. 2
0
        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());
        }
Esempio n. 3
0
 public static AuxiliaryLibraries.Media.PixelFormat AuxToWPFComp(AuxiliaryLibraries.Media.PixelFormat pixelFormat)
 {
     if (AuxToWPFCompdic.ContainsKey(pixelFormat))
     {
         return(AuxToWPFCompdic[pixelFormat]);
     }
     else
     {
         return(AuxiliaryLibraries.Media.PixelFormats.Undefined);
     }
 }
Esempio n. 4
0
 public static PixelFormat AuxToWPF(AuxiliaryLibraries.Media.PixelFormat pixelFormat)
 {
     if (AuxToWPFdic.ContainsKey(pixelFormat))
     {
         return(AuxToWPFdic[pixelFormat]);
     }
     else
     {
         return(PixelFormats.Default);
     }
 }
Esempio n. 5
0
 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());
     }
 }