Из Bmp в Png-8 (16bit) на C#

Тема в разделе ".NET", создана пользователем WildDuck, 5 авг 2009.

  1. WildDuck

    WildDuck Гость

    Добрый день, есть ли возможность конвертировать BMP в PNG-8 (16bit) и обратно средствами .NET?
    Впринцепи подойдут и сторонние библиотеки.. но желательно сделать это своими силами..
    Как конвертировать просто из BMP в PNG средствами NET я знаю.. но получается PNG-24 он слишком большой...
    Или может ктонибудь сможет посоветовать другой вариант решения этой задачи.. в итоге требуется сделать
    из картинки BMP ориентировочно 800 на 600 картинку занимающую как можно меньше места но с таким же разрешением,
    естественно с потерей качества и быстро..

    Пользуясь возможностью хочу спросить еще один вопрос..
    как прочитать 8 и 16 битные BMP.. при открытии вылетает исключение...

    вот код..
    Код (Text):
             
    var screenShotBmp = new Bitmap(totalSize.Width, totalSize.Height,
    PixelFormat.Format8bppIndexed);

    // Ниже с 24 и 32 работает, а в Format8bppIndexed меня смущает *Indexed
    //.Format24bppRgb);
    //.Format32bppArgb);

    var screenShotGraphics = Graphics.FromImage(screenShotBmp); //Exception: A Graphics object cannot be created from an image that has an indexed pixel format.
     
Загрузка...

Поделиться этой страницей