Рисование вещи на winform, Format32bppRgb или Format24bppRgb или что-то еще? - PullRequest
1 голос
/ 27 ноября 2008

Какой из них вы бы использовали для рисования чего-либо на форме? Format32bppRgb или Format24bppRgb или что-то еще?

в любой версии .net

Format24bppRgb
Specifies that the format is 24 bits per pixel; 8 bits each are used for the red, green, and blue components.

Format32bppRgb
Specifies that the format is 32 bits per pixel; 8 bits each are used for the red, green, and blue components. The remaining 8 bits are not used.

Ответы [ 2 ]

0 голосов
/ 28 апреля 2009

Как вы цитировали из документации, Format32bppRgb будет использовать те же 24-битные значения на пиксель, а остальные 8 бит не используются, так почему бы вам не использовать Format32bppRgb, если он тратит только биты. Вероятно, существует только по причинам совместимости. Format32bpp A rgb, однако, действительно использует дополнительные 8 битов для альфа-канала. Таким образом, между этими вариантами вы должны использовать Format32bppArgb, если вам нужен альфа-канал или иначе Format24bppRgb.

Используете ли вы растровое изображение, чтобы нарисовать что-нибудь WinForm? Если вы используете графику для рисования только на растровом изображении, чтобы отобразить растровое изображение, вы также можете использовать графику для рисования непосредственно в элементе управления. Вы можете обернуть Графику вокруг любого элемента управления или формы, используя Graphics.From(control.Handle).

0 голосов
/ 27 ноября 2008

Из того, что я могу сказать, из-за документации, если вы собираетесь выбирать между этими двумя, нет смысла переходить на 32. Тем не менее, моя интуиция говорит мне, что если вы создаете только для настольных приложений, и Вы хотите получить наилучший диапазон цветов для тех, у кого 32-битный цвет. Я бы использовал Format32bppArgb или Format32bppPArgb, в соответствии с документацией MSDN они предоставят больше битов для хранения цветов.

...