Как сделать иконку с розовым фоном прозрачной? - PullRequest
2 голосов
/ 25 октября 2008

Я использую библиотеку значков Visual Studio (VS2008ImageLibrary), есть несколько BMP-файлов с розовым фоном. Как я могу сделать розовый фон прозрачным? Какое программное обеспечение я могу использовать для этого? Любой бесплатный?

Спасибо

Ответы [ 5 ]

2 голосов
/ 25 октября 2008

Я использовал инструмент пакетного преобразования IrfanView. Это все еще некоторая работа, потому что вы должны нажать на розовую область на каждом значке, вместо того, чтобы просто указать розовый как прозрачный цвет, но это сработало. Было бы легко написать простой инструмент преобразования, используя GDI +, что я тоже рассмотрел.

Обратите внимание, что, хотя вы можете использовать их в качестве прозрачных изображений, многие из них, к сожалению, все еще имеют некрасивые края, когда вы визуализируете их на темном фоне или используете в качестве наложения. Если вы хотите очень мало из них, рассмотрите возможность индивидуальной настройки, если считаете, что у вас не всегда будет яркий фон.

1 голос
/ 24 февраля 2014

Вы можете сделать это, используя ImageMagick convert:

convert input.png -transparent magenta  output.png

Кстати, это не розовый, а пурпурный цвет.

1 голос
/ 25 октября 2008

Вы можете попробовать онлайн при условии, что вы можете сначала преобразовать свой bmp в gif.

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

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

Я знаю, что это что-то, связанное с Form.TransparencyKey но я не знаю, что именно этот розовый, вы должны знать точный RGB / системный или веб-цвет.

если вы знаете, пожалуйста, поделитесь с нами

0 голосов
/ 25 октября 2008

Хотя я не знаю современного ответа .NET на ваш вопрос, стоит отметить историческую причину этих растровых изображений с пурпурным фоном:

В те времена, когда только для Win32 существовали общие элементы управления (например, панель инструментов и ListView), эти растровые изображения и цвет воспринимались как прозрачные, а затем отображались как прозрачные. Я полагаю, что за кулисами они использовали такие функции, как TransparentBtl .

...