Bild-collage, in PHP
Ich bin auf der Suche nach nachgeholt Lösung oder möglicherweise einige Mathematik/algorithmen für die Erstellung von einem großen Bild-collage von kleineren Produkt-Bilder?
Ich weiß wie es in ein Quadrat Mode, von gleichgroßen Bildern, die mit gd/imagemagick, aber ich würde gerne einige Variationen eingebaut.
Zum Beispiel, einige der Bilder könnten etwas größer sein, und wenn alle die gleiche Größe und Platz - ich will vielleicht 1 von Ihnen nehmen mehr Speicherplatz, einfach zu mischen, bis das design. es interessant zu halten.
je mehr ich darüber denke, desto schwieriger scheint es zu tun mit einer Formel. mit vordefinierten "Vorlagen" für alle möglichen Szenarien nicht funktionieren, da die Menge der Bilder kann variieren von nur 1 (keine Arbeit erforderlich) bis zu 10+.
ich bin nicht auf der Suche nach einer Drehung oder spezielle Effekte, nur die Bilder in einem raster mit vielleicht etwas Abstand dazwischen und keine überschneidungen.
irgendwelche Ideen, wie dies zu erreichen, und gibt es wirklich nichts bereit dort hin zu fahren?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ich schlage vor, Sie erstellen ein raster und Gewicht-Ansatz.
Diese Antwort ist unterteilt in 3 Teile :
Arbeiten mit einem virtuellen Gitternetz
Erstellen Sie ein neues Bild mit einer Breite/Höhe (ex: 600x800), aber auch eine raster-Breite/- Höhe (ex: 10 x 10). Dann können Sie Ihnen die Bilder, die eine virtuelle Größe und die virtuelle position. Ich werde versuchen, es Schritt für Schritt, damit Sie verstehen, was ich meine.
Erstens, wir brauchen eine Umgebung für diese.
Diese geben uns eine schöne weiße Quadrat. Dann, wir brauchen ein raster, um Bilder anzuzeigen. Denn das ist vielleicht schwer vorstellbar, lassen Sie es anzeigen.
Durch aufrufen :
Können wir sehen :
Nun wollen wir wissen, wie zu schreiben Sie ein Rechteck von 3x4, und fügen Sie es zu (2,5) in unserer virtuellen Maßnahmen. Wir müssen suchen, wie man Reale Größen und Positionen der unser Rechteck.
Durch aufrufen :
Erhalten wir ein Quadrat von 3x4 positioniert unter (2,5) in unser raster :
Nun, bringen wir es mehr seriousely, haben wir gute Maßnahmen, so können wir fügen Sie ein Bild.
Durch aufrufen :
Erhalten wir :
So haben wir ein Bild in der guten Stelle, aber wir verloren das Seitenverhältnis. Fügen wir eine Methode, um die Größe richtig zu unserem Bild.
Und kurz bevor :
Setzen wir :
Diese wie folgt Aussehen :
Wir haben jetzt einen voll functionnal Klasse, um Ihren job.
Können wir jetzt mit ihm spielen, um zu sehen, ob es funktioniert :
Persönlich, ich bevorzuge die ohne beibehalten des Seitenverhältnisses 🙂
Prost! (eh, genießen würde ich sagen!)
Implementieren, die Transparenz
Zuerst auf die
__construct
Methode ersetzen :Durch :
Dann auf die
resizePreservingAspectRatio
Methode, fügen Sie einfach nach :Den folgenden Zeilen :
Und hier gehen wir.