Jak zastąpić biały kolor tła przezroczystym obrazem w ImageMagick?
Mam obrazek w .jpg format
z white background color
. Chcę usunąć biały kolor tła do przezroczystego w Imagemagick
. Próbowałem na wiele sposobów, ale nadal nie można usunąć białego tła. Czy ktoś może mi pomóc to rozwiązać?
4 answers
Nie możesz mieć przezroczystych kolorów tła w swoich JPEG-ach. Format pliku JPEG nie obsługuje przezroczystości.
Jeśli potrzebujesz przezroczystego tła, musisz przekonwertować JPEG na
- albo PNG (wysoka jakość, Rozmiar pliku prawdopodobnie większy niż JPEG)
- lub GIF (w przypadku, gdy można tolerować niską jakość i zakres maksymalnie 255 kolorów).
Przykładowe polecenie:
convert your.jpg -transparent white your.png
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2018-12-31 20:44:21
Najpierw musisz przekonwertować format obrazu z formatu .jpg
na format .png
, ponieważ JPEG nie obsługuje przezroczystości. Następnie użyj tego polecenia:
convert image1.png -fuzz 20% -transparent white result.png
Opcja -fuzz
pozwala na zamianę określonego odchylenia procentowego od koloru czystej bieli na przezroczysty. Jest to przydatne, na przykład, gdy obraz zawiera szum lub subtelne gradienty.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-04-24 21:34:53
Właśnie znalazłem bardzo zgrabną rzecz!
magicwand 1,1 -t 20 -f image -r outside -m overlay -o 0 image.jpg imgOutput.png
Jest to skrypt bash Freda Weinhausa, który można pobrać z tutaj (Tylko do użytku niekomercyjnego). Ponadto istnieje około 250 skryptów!! a ten jest niesamowity! to zrobił dokładnie sztuczkę, aby usunąć wszystkie tło, zachowując wewnętrzne kropki obrazu nietknięte!
Na jego stronie znajduje się kilka obrazów jako przykładów, więc wybierz to, co chcesz umieścić w wierszu poleceń!
Pozycja początkowa 1,1
jest ogólnym domysłem mówiąc, że cały kontur jest tłem.
Zwróć uwagę, że wyjście musi być ".png "
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2014-06-30 23:08:40
To jest moje rozwiązanie bez magicwand (zastąp magick
przez convert
Dla im
magick img.png -fuzz 20% -fill none -draw "alpha 1x1 floodfill" result.png
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2015-11-05 09:37:00