Как преобразовать растровое изображение с 32-битным в 16-битное качество цвета в C # - PullRequest
3 голосов
/ 03 марта 2011

У нас есть два изображения, первое изображение захвачено в WindowsXP для 32-битное качество цвета и то же самое фиксируется в WindowsXP для 16-битного качества цвета. Оба изображения были сохранены как растровое изображение. Но сравнивая оба, мы наблюдаем, что значения хеш-функции различны. Здесь мы планируем реализовать код C # для преобразования 32-битного изображения с качеством цвета в 16-битное изображение с качеством цвета.

Если бы кто-нибудь работал над такой проблемой сравнения растровых изображений, любые входные данные на этом фронте были бы признательны.

Большое спасибо заранее.

1 Ответ

1 голос
/ 03 марта 2011

Попробуйте использовать следующий

var bmp = new Bitmap(yourImage.Width, yourImage.Height, System.Drawing.Imaging.PixelFormat.Format16bppRgb555);
using (var gr = Graphics.FromImage(bmp))
    gr.DrawImage(yourImage, new Rectangle(0, 0, yourImage.Width, yourImage.Height));

bmp - будет иметь 16-битное качество

...