Изображение, полученное из ImageList, выглядит иначе, чем прямо из ресурса - PullRequest
5 голосов
/ 03 декабря 2011

У меня есть форма с двумя кнопками.

Одному из них я назначил изображение (глубина 16 x 16, 32 бита png), установив свойство Image в редакторе свойств VS (с помощью кнопки Import...).

У меня также есть ImageList (16 x 16 ImageSize и Depth32Bit ColorDepth), которому я назначил то же изображение, что и для первой кнопки, также из редактора свойств -> Images, а затем Add. Затем я назначил это изображение моей второй кнопке следующим образом:

button2.Image = imageList.Images[0];

А вот так выглядят изображения (в 2 раза больше реального размера):

enter image description here

Возможно ли, чтобы моя вторая кнопка выглядела как моя первая с помощью ImageList? Причина, по которой я использую ImageList, заключается в том, что при проверке производительности строка кода, которая загружала изображение из ресурса, была горячей точкой в ​​соответствии с мастером производительности VS.

В моем приложении будет список элементов управления, каждый из которых имеет несколько кнопок с изображениями, поэтому я хочу, чтобы они загружались как можно быстрее. Итак, у меня есть статический ImageList, из которого каждый из этих элементов управления получает свои изображения.

1 Ответ

3 голосов
/ 03 декабря 2011

Это потому, что изображения, которые вы добавили в свой список изображений, имеют более высокий ColorDepth, чем ColorDepth, который вы установили в своих свойствах ImageList. Например, если изображения, которые вы добавили, имеют формат PNG, вы должны установить для ColorDepth вашего ImageList (в окне свойств) значение Depth32Bit, так как формат PNG использует глубину цвета 32 бит.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...