Ich hatte ja schon beschrieben, wie wir gerade die Präsentation unseres Shirtsortiments verbessern. Ein Schritt dabei wird sein, dass es bald bei fast allen unserer über 300 Motive ein Bild für alle verfügbaren Farben und Formen wie Girlie, Hoodie, etc, geben wird. Außerdem soll es jeweils noch passende Fotos mit echten Menschen geben. Insgesamt ergibt dass ca. 4500 Bilder, es ist also nicht mehr wirklich machbar, die Bilder alle von Hand zu erstellen.
Aber welcher Nerd hätte bei der Menge von Bildern nicht sowieso längst daran gedacht, ein Skript zu schreiben? Heute habe ich endlich die Zeit dazu gefunden, damit anzufangen. Die meisten Programmieraufgaben werden zwar von unseren Programmierern Helge, Conrad und Florian erledigt und natürlich hätte ich auch diese Aufgabe abgeben können, aber ganz ohne mal etwas selbst zu programmieren kann ich dann irgendwie doch nicht :) Als Chef komme ich sowieso viel zu selten dazu…
Die Ausgangslage hier nochmal genauer definiert: Ich habe 300 PNG-Dateien mit unseren Shirtmotiven auf transparentem Hintergrund und diese sollen auf jeweils 15 verschiedene Ansichten unserer Shirts kopiert werden, die als JPGs vorliegen. Dabei muss das Motiv natürlich in der Größe und Position jeweils verändert werden. Da unser gesamtes System in PHP programmiert ist und ich daher einfach am besten mit PHP umgehen kann, hab ich einfach mal nachgeschaut, ob Stackoverflow nicht vielleicht schon eine Lösung anbietet und ja, so war es. Zumindest behaupten sie es, denn leider konnte PHP nicht wirklich ohne Tricksereien mit Transparenz umgehen, aber insgesamt war die Aufgabe dann doch ziemlich schnell erledigt. Verdammt, irgendwie zu einfach ;) Wer Interesse an den paar Zeilen PHP hat, die so dann auch funktioniert haben:
$src = imagecreatefrompng('12189_In-science-we-trust.png'); $dest = imagecreatefromjpeg('t-shirt_black.jpg'); $posX = 580; $posY = 900; $areaWidth = 600; $areaHeight = 600; $cut = imagecreatetruecolor($areaHeight, $areaWidth); imagecopy($cut, $dest, 0, 0, $posX, $posY, $areaHeight, $areaWidth); imagecopyresampled($cut, $src, 0, 0, 0, 0, $areaHeight, $areaWidth, 3000, 3000); imagecopymerge($dest, $cut, $posX, $posY, 0, 0, $areaHeight, $areaWidth, 100); header('Content-Type: image/jpeg'); imagejpeg($dest); imagedestroy($dest); imagedestroy($src); imagedestroy($cut);
Das macht dann aus den Eingaben:
Dieses Ergebnis:
Auch wenn es ein recht simples Skript ist und das Ergebnis vielleicht etwas trivial aussieht, übt es trotzdem irgendwie eine seltsame Faszination auf mich aus. Könnt ihr das nachvollziehen? Immer wenn Aufgaben, die man sonst mühselig von Hand erledigt hat (hier halt Photoshop-Gefummel), am Ende automatisch funktionieren, freut mich das auf eine ganz besondere Art. Vielleicht sind Nerds auch deswegen so fasziniert von den Entwicklungen, die die KI-Forschung in den letzten Jahren schafft.