Как преобразовать изображение в формате индексированного пикселя в 32-битное изображение?
У меня есть изображение, которое я получаю, и пытаюсь загрузить его в графический объект с помощью Graphics.FromImage(image), однако это вызывает исключение, если изображение имеет индексированный формат пикселей.
Есть ли способ безопасно конвертировать проиндексированное изображение?
Обновление: спасибо Джо за подсказку просто нарисовать старое изображение поверх нового, вместо этого я пытался преобразовать его. Это имеет большой смысл.
2 ответа
Один простой способ - создать новое изображение того же размера (с 32-битным пиксельным форматом). Затем создайте графический объект для этого изображения и нарисуйте оригинал поверх него.
То, что вы можете сделать, основано на индексах, которые вы можете вычислить евклидово расстояние в 3-канальном цветовом пространстве. Затем найдите ближайший цвет и используйте эти значения для вашего нового изображения.