2 Bilder ineinander überlaufen lassen

  • Hallo!

    Ich stehe zur Zeit vor nem ziemlich üblen Problem.. hab relativ viel gegoogled, aber nix gefunden (höchstens mit Photoshop und da ists ja mehr als einfach *gg*)

    Also: Ich schreibe zZ ein Tool, womit man einen Hintergrund aus 3 verschiedenen Teilen zusammenbasteln kann. Man hat sozusagen einen Linken Teil, einen rechten Teil und einen Übergang vom linken zum rechten Teil.
    Per PHP hab ich das Problem, dass dabei Kanten entstehen.

    Meine Idee: Ich lasse den Übergang um ca 20 Pixel auf beiden Seiten überstehen. Auf beide 20 Pixel Vorsprünge kopiere ich jetzt eine Art Maske mit Verlauf drauf. Die Maske selber ist weiß.
    Das Weiß dieser Maske blende ich mit PHP aus und kopiere die 3 Teile zusammen.
    Ums verständlich zu machen habe ich eine kleine Photoshop Zeichnung angefertigt - Bei Bild 1 wird ein Verlauf ins Transparente hinzugefügt (in meinem Szenario erstelle ich diesen mit der Maske) und daraufhin wird Bild 1 und Bild 2 zusammenkopiert.

    Wenn es fertig ist, wird aber leider nur das exakte Weiß genommen (255,255,255) und demzufolge sieht das Ergebnis unschön aus.

    In PHP blende ich so die weiße Maske aus:

    PHP
    $transparentColor = ImageColorAllocate($ausschnitt, 255, 255, 255);
    imagecolortransparent($ausschnitt,$transparentColor);

    Im angehängten "Extrembeispiel" seht ihr was ich meine.... (in der Praxis wird meistens eine Farbe auf eine ähnliche kopiert)

    Ich hoffe jemand hat hier eine Idee ....

    Bevor ichs vergesse: Es ist NICHT möglich die beiden Bilder vorher zu bearbeiten - die werden ebenfalls dynamisch erzeugt.

    EVC Tutor

    2 Mal editiert, zuletzt von Tuxa (27. April 2011 um 23:28)

  • spinball empfiehlt: imagecopymerge

    Anstatt die Bilder zu übermalen, füge sie mit Transparenz zusammen. Zuerst den linken Ausschnitt, dann den Rechten. Danach, in einer Schleife, die überlappenden Pixel mit ansteigender / abnehmender Transparenz. Hier ein Beispiel für eine zentrierte Verschmelzung:

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!