1

У меня есть много изображений BMP, как эти:

Что мне нужно конвертировать в прозрачные PNG-файлы, такие как:

в основном синий цвет (# 00FFFF) должен стать прозрачным, а фиолетовый (FF00FF) - серым (# 747474).

Файлы BMP действительно старые с глубиной цвета 8 бит, они изначально из игры "Герои 3", я пытаюсь портировать эту игру на webgl, но спрайты в настоящее время являются моей самой большой проблемой.

Я нашел эту оригинальную тему, в которой было рекомендовано imagemagick, однако я не могу понять, как выполнить пакетное преобразование файлов в окнах с помощью imagemagick, и как я бы превратил фиолетовый цвет на bmp в фактическое значение серого в прозрачном png.

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

1 ответ1

2

mogrify Imagemagick может сделать это.

Ваш оригинал (я преобразовал его в BMP, так как он был PNG в SuperUser)

mogrify -format png -transparent #00ffff *bmp

Вы также можете конвертировать цвета одновременно

mogrify -format png -fill grey -opaque #FF00FF -transparent #00ffff *bmp

Тень вашего изображения имеет сглаженный край, используя цвета, такие как # FF96FF, которые, вероятно, необходимо объединить с прозрачным фоном или с тенью. Вы можете использовать опцию -fuzz

mogrify -format png -fuzz 80% -fill grey -opaque #FF00FF ^ 
        -transparent #00ffff *bmp

Обратите внимание, что в Microsoft Windows mogrify не является отдельной командой. В качестве префикса вы должны использовать команду magick : magick mogrify ...

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .