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:
Ik wil dit:
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:
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
Nu kunnen we het alfakanaal extraheren, wetende dat volledig transparant zwart is en ondoorzichtig wit.
convert transparent.png -alpha extract output.png