Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > .NET Frameworks (точка нет фреймворки) > Общие вопросы .NET
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 22.03.2010, 13:38   #1
isat
Новичок
Джуниор
 
Регистрация: 19.03.2010
Сообщений: 1
По умолчанию Ковертирование из png 24 бит в png 8 бит

Привет тебе, случайно вошедший. Помоги чем сможешь.

Есть картинка в формате png - 24 битная, надо пересохранить ее в png - 8 бит. Подозреваю что делаю довольно криво, но вот как-то так работает:

Код:
 
 Image img = Image.FromFile("24bit.png");
 Bitmap curImage = new Bitmap(img, new Size(img.Width, img.Height));
 Rectangle lockedRect = new Rectangle(0, 0, curImage.Width,  curImage.Height);
 BitmapData bmpData = curImage.LockBits(lockedRect, ImageLockMode.ReadWrite,
                    PixelFormat.Format8bppIndexed);
curImage.UnlockBits(bmpData);
curImage.Save("8bit.png", System.Drawing.Imaging.ImageFormat.Png);
Загвоздка вот в чем, сильно теряется качество, а хочется чтоб не сильно. Вроде как можно включить некое свойство отвечающее за смешивание цветов при градиенте (все картинки которые надо пересохранить с градиентами). Например, если пересохранять картинки в Paint.NET можно установить глубину цвета в 8 бит и указать "уровень размывания" картинки. Как сделать программно?

Последний раз редактировалось isat; 22.03.2010 в 13:39. Причина: правка орфографии
isat вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как различить 16-бит exe и 32? Alex Cones Операционные системы общие вопросы 14 10.03.2010 14:58
Бит чётности fogmistery Общие вопросы C/C++ 1 02.01.2010 22:58
Задача на бит-реверсивное преобразование Ser Помощь студентам 2 16.03.2009 10:55
выделить бит odi_noki Паскаль, Turbo Pascal, PascalABC.NET 10 15.10.2008 00:43
1 байт 9 бит ?! Иллидан Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 4 13.04.2008 12:47