Это старый вопрос, но, поскольку кажется, что никто не опубликовал очевидный ответ на него ... Image.GetPixelFormatSize(pixelformat)
возвращает количество использованных бит на пиксель для данного формата пикселей. Так что для Format16bppArgb1555
он вернул бы 16
.
Int32 pixSize1 = Image.GetPixelFormatSize(img1.PixelFormat);
Int32 pixSize2 = Image.GetPixelFormatSize(img2.PixelFormat);
if (pixSize1 > pixSize2)
{
...
}
Хотя мне действительно интересно, почему вы когда-либо проверяли это, если бы не было необходимости проводить различие между индексированными форматами, где преобразование в более низкий BPP может означать, что более высокие индексы палитры вам стало невозможно писать.