Schachbrettartige Überlagerung zweier Bilder erzeugen

Schachbrettartige Überlagerung zweier Bilder erzeugen

Ich würde gerne einen Befehl finden, mit dem man zwei Bilder (A.png und B.png) kombinieren und eine Schachbrett-Überlagerung der beiden Bilder erzeugen kann (wie Sie unten sehen können). Ich habe ImageMagick und Konvertierungsseiten ohne Erfolg durchsucht. Wenn jemand einen Tipp hat, wäre das fantastisch. Vielen Dank im Voraus, Chris. unten

Antwort1

Das ist einfacher als Sie vielleicht denken. Sie müssen nichts mit dem ersten Bild machen, dann nehmen Sie das zweite Bild und machen es transparent"Löcher"hinein und überlagere es über dem ersten.

Ich werde leicht andere Größen als Sie verwenden, damit man leichter erkennen kann, was passiert.

Erstellen Sie zunächst eine Maske. Erstellen Sie sie als PNG, um die genauen Pixelwerte verlustfrei beizubehalten:

magick -size 64x64 xc:black xc:white +append \( +clone -flop \) -append -write MPR:x -delete 0 -size 512x512 tile:MPR:x mask.png

Bildbeschreibung hier eingeben

Machen Sie dann 2 Beispielbilder:

magick -size 512x512 -seed 42 plasma:tomato-steelblue -paint 20 -swirl 200 a.jpg
magick -size 512x512 gradient:black-magenta b.jpg

Bildbeschreibung hier eingeben

Und jetzt zaubern Sie:

# Push mask.png into b.jpg as its transparency, then overlay onto a.jpg
magick a.jpg \( b.jpg mask.png -compose copyalpha -composite \) -compose over -composite result.png

Bildbeschreibung hier eingeben

verwandte Informationen