ImageMagick: plaats witte achtergrond onder transparante PNG en keer kleuren om

Ik heb een PNG-afbeelding met een zwarte vorm op een transparante achtergrond.
Ik heb in plaats daarvan een witte vorm op een effen zwarte achtergrond nodig.

Hoe kan ik dat bereiken met Imagemagick?

Afbeeldingsvoorbeeld:

Ik heb dit:

voer hier de afbeeldingsbeschrijving in

Ik wil dit:

voer hier de afbeeldingsbeschrijving in


Antwoord 1, autoriteit 100%

De afbeelding die je hebt geplaatst is niet transparant. Het heeft een ondoorzichtige dambordachtergrond. Als het echter transparant was, zou dit Imagemagick-commando moeten werken.

convert image.png -background white -flatten -negate result.png

Als je Imagemagick 7 gebruikt, verander dan converteren naar magie


Antwoord 2, autoriteit 50%

Zoals @fmw42 al zei, is je afbeelding geen echte PNG-afbeelding. Dus voor je afbeelding kun je doen:

convert input.png -white-threshold 0% -negate out.png

Wat je zal geven:

resultaat


Antwoord 3, autoriteit 50%

Misschien kan het alfakanaal eenvoudig worden geëxtraheerd naar een nieuwe afbeelding.

Laten we bijvoorbeeld een transparante afbeelding maken.

convert -size 100x100 xc:transparent -fill black -draw 'circle 50,50 50,10' transparent.png

transparant.png

Nu kunnen we het alfakanaal extraheren, wetende dat volledig transparant zwart is en ondoorzichtig wit.

convert transparent.png -alpha extract output.png

output.png

LEAVE A REPLY

Please enter your comment!
Please enter your name here

1 × two =

Other episodes