.NET Graphics в Windows 7: белые углы вокруг изображений?

Я работал над некоторыми пользовательскими элементами управления графикой и обнаружил странную проблему с отображением моих кнопок в Windows 7. Я использовал Photoshop, чтобы удалить пиксели на заднем плане вокруг изображения кнопки, которое я использую, затем сохранил его как GIF и импортировал в VS, чтобы использовать в качестве фонового изображения моей кнопки. Когда Windows XP отображает его, все в порядке, но когда Windows 7 отображает его, все 4 угла имеют странную белую рамку вокруг них.

На этой картинке их едва видно, но они гораздо более заметны, если смотреть на них на клиентском ПК.

альтернативный текст

Что-то не так с тем, как я передаю изображение? я не должен использовать GIF? что-то не так с тем, как я показываю это на кнопке? Что я могу с этим поделать?


person Jrud    schedule 15.02.2010    source источник
comment
Для начала я бы использовал формат PNG и посмотрел, решит ли это что-нибудь.   -  person Rudi    schedule 15.02.2010


Ответы (1)


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

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

person Hans Passant    schedule 15.02.2010