Bilder aneinanderreihen
lima-city → Forum → Programmiersprachen → PHP, MySQL & .htaccess
ausgabe
befehl
bild
datei
englischen dokumentation
erstellen
erstellte bild
grafik
http
koordinate
legen
manual
rechenzeit
schwarzen hintergrund
startposition
transparentes bild
transparenz
url
wasserzeichen
zusammenhang
-
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage
-
Fertigen Code habe ich nicht, aber eine logische Schrittfolge.
Angenommen die Bilder haben alle die gleiche Größe von 100x100px (anderenfalls solltest du sie entsprechend auf das größte oder kleinste skalieren), dann erstellst du über imagecreatetruecolor() ein neues Bild mit 606px Breite und 100px Höhe. Sollten sie nicht gleich groß sein musst du die Breite vorher aus den einzelnen Breiten +6px berechnen lassen.
Mit imagecreatefrom...jpg|gif|png() setzt du auf jedes Bild einen Identifier (wenn nicht schon für das Skalieren erledigt) und kopierst die Bilder mit imagecopy() in das neu erstellte Bild hinein. Beim ersten Teil ist das noch leicht, da die Startposition entsprechend 0, 0 (dst_x, dst_y) ist. Beim zweiten Teilbild musst du die x-Koordinate verschieben um 101px, beim zweiten um 202px usw.
Am Ende kannst du das Bild einfach nur ausgeben, oder als Datei speichern, ganz wie dir beliebt, dann musst du sie nicht jedes Mal neu erstellen und spart Rechenzeit. -
Super danke! Hab ich in einer Forschleife erledigt (einfach den Zähler * (breite + Abstand))
Gibt es allerdings eine Möglichkeit für einen transparenten Hintergrund?
MFG -
Schau Dir zum Thema Transparenz einfach folgendes an. Es gibt da auch ein Beispiel dazu. In der englischen Dokumentation wird noch gesagt, dass die Transparenz nur bei imagecopymerge() übernommen wird. Ganz nützlich in diesem Zusammenhang ist auch imagesavealpha()...
http://php.net/manual/de/function.imagecolortransparent.php
http://php.net/manual/en/function.imagecolortransparent.php
Beitrag zuletzt geändert: 20.9.2011 0:24:41 von staymyfriend -
Kann ich auch mit diesem Befehl ein Transparentes Bild auf ein anderes (driekt) darüber legen?
Will nämlich auf einer Seite, sobald man ein Bild hochläd, soll er ein Wasserzeichen erstellen...
Oder kann man die Bilder nur nebeneinander anreihen lassen? -
v-concept schrieb:
Kann ich auch mit diesem Befehl ein Transparentes Bild auf ein anderes (driekt) darüber legen?
Will nämlich auf einer Seite, sobald man ein Bild hochläd, soll er ein Wasserzeichen erstellen...
Oder kann man die Bilder nur nebeneinander anreihen lassen?
Verwende dazu imagecopymerged, wie von staymyfried erwähnt, um die Transparenz zu erhalten und gibt als Koordinaten zweimal die gleichen Startkoordinaten an. Dann hast du ein Wasserzeichen links oben in der Ecke (vorausgesetzt das Wasserzeichen ist z.B. 10x10 px groß). -
Für ein Wasserzeichen würde es sich empfehlen das es mittig plaziert wird. DAfür kannst du als x Koordinate die Hälfte des GAnzen bildes minus die Hälfte des WAsserzeichens angeben. Das Gleiche auch für die y Koordinaten, eben mit der Höhe beider Bilder.
Wegen der Transparenz...
die Funktion imagecreatetruecolor() erzeugt einen schwarzen Hintergrund. Statdessen soll dieser transparent sein. Die Grafiken und deren Transparenz wird erfolgreich übernommen.
MFG -
Kann ich das Wasserzeichen nicht so groß machen wie das ganze Bild und dann einfach komplett drüber setzten?
Die Bildergrößen sind bei allen Bilder gleich und ich dachte ich kann dann einfach ein genau so großes Bild erstellen (transparent halt)
und setzte es dann auf die gleichen Koordinaten?!
Kann das jetzt leider nicht ausprobieren, da ich hier kein xampp drauf hab und der lima ftp nicht zu erreichen ist.
Sollte aber funktionieren oder?
Ich will das so groß machen, damit das Wasserzeichen auch richtig deutlich lesbar ist und nicht einfach rauskopiert und anderweitig verwendet wird.
Zur Info vllt. noch: Das Wasserzeichen ist ein Karomuster und unten rechts ist ein Logo. -
Wenn die Bilder immer gleich groß sind und du das Wasserzeichen in der richtigen Größe hast, kannst du es natürlich auch über das ganze Bild legen. PHP legt dir da keine Beschränkungen auf.
-
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage