Brief:ImageMagick Reflexion
convert (-size 585x128 gradient:) NewImage.png
Wie kann ich die oben ImageMagick Befehl ändern, so dass es die Breite und Höhe aus einem vorhandenen Bild nimmt? Ich brauche es, um ein einzeiliger Befehl zu bleiben.
Details:
Ich versuche, ein Bild Reflexion mit ImageMagick programmatisch zu erstellen. Der Effekt, nach dem ich suche, ähnelt dem, was Sie sehen würden, wenn Sie ein Objekt am Rand eines Wasserbeckens betrachten. Es gibt einen ziemlich guten Thread auf was ich versuche zu tun here aber die Lösung ist nicht genau das, was ich suche. Da ich ImageMagick aus einer C# .Net-Anwendung aufrufen werde, möchte ich einen Aufruf ohne temporäre Dateien verwenden und das Bild durch stdout zurückgeben. Bisher habe ich diese ...
convert OriginalImage.png (OriginalImage.png -flip -blur 3x5 \
-crop 100%%x30%%+0+0 -negate -evaluate multiply 0.3 \
-negate (-size 585x128 gradient:) +matte -compose copy_opacity -composite)
-append NewImage.png
Dies funktioniert ok, aber nicht geben Sie mir die genaue verblassen die ich suche. Statt einer schönen, soliden Fade von oben nach unten, gibt es mir eine Fade von oben links nach unten rechts. Ich fügte den Abschnitt (-negieren - multiplizieren 0.3 -negieren bewerten) hinzu, um es ein bisschen mehr aufzuhellen, da ich nicht das verblassen bekam, das ich wollte. Ich möchte auch nicht die Größe des Bildes fest einprogrammieren müssen, wenn ich den Farbverlauf erzeuge (-size 585x128 gradient:) Ich werde auch die Transparenz des Originalbildes beibehalten, wenn möglich.
Um zu stdout gehe ich zu ersetzen „NewImage.png“ mit Plan „-“
Das kann ich antworten, wenn ich nach Hause an diesem Abend bekommen. Kommentieren, damit ich die Frage auf meiner Benutzerseite wiederfinden kann. – Sparr
Ich habe dies nicht in einer Antwort, weil es nicht direkt die Einschränkungen angesprochen, die Sie zum Ausdruck gebracht, aber ich denke, es ist nützlich Info (vor allem in einem * nix orientierten Kontext): http://blogs.sun.com/constantin/ entry/presending_images_and_screenshots_the – micahwittman
Nur zur Referenz, hier ist ein PHP-Skript, das die GD-Bibliothek verwendet, um zu tun, was ich glaube, dass Sie wollen: http://reflection.corephp.co.uk – leek