Пример #1
0
        private static void CopyColormap(Bitmap img, Pix pix)
        {
            Color[]     entries     = img.Palette.Entries;
            PixColormap pixColormap = PixColormap.Create(pix.Depth);

            try
            {
                for (int index = 0; index < entries.Length; ++index)
                {
                    if (!pixColormap.AddColor(entries[index].ToPixColor()))
                    {
                        throw new InvalidOperationException(string.Format("Failed to add colormap entry {0}.", (object)index));
                    }
                }
                pix.Colormap = pixColormap;
            }
            catch (Exception)
            {
                pixColormap.Dispose();
                throw;
            }
        }
Пример #2
0
        private void CopyColormap(Bitmap img, Pix pix)
        {
            var imgPalette        = img.Palette;
            var imgPaletteEntries = imgPalette.Entries;
            var pixColormap       = PixColormap.Create(pix.Depth);

            try
            {
                for (int i = 0; i < imgPaletteEntries.Length; i++)
                {
                    if (!pixColormap.AddColor(ToPixColor(imgPaletteEntries[i])))
                    {
                        throw new InvalidOperationException(String.Format("Failed to add colormap entry {0}.", i));
                    }
                }
                pix.Colormap = pixColormap;
            }
            catch (Exception)
            {
                pixColormap.Dispose();
                throw;
            }
        }