Kollage erstellen

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Kollage erstellen

    Hi,

    ich möchte mit GD eine Kollage aus Zufallsbildern eines ordners erstellen.
    Das Problem ist nun, das die Bilder hochkant und normal sind, die Kollage soll aber dennoch flächendeckend und etwas transparent sein.
    Nur genau das bekomme ich irgendwie nicht hin, vielleicht kann mir da ja jemand von euch weiterhelfen.
    Hier schonmal mein Code bisher (ja ich weiß, kann noch stark optimiert werden)

    PHP-Code:
    $ordner "./bilder/";
    $verz opendir($ordner);
    $linkl = array();

    while(
    $file readdir($verz))
        {
            if(
    $file != "." && $file != "..")
                    {
            
    array_push ($linkl$file);
            }
        }

    $file1 $ordner.$linkl[array_rand($linkl1)];
    $file2 $ordner.$linkl[array_rand($linkl1)];
    $file3 $ordner.$linkl[array_rand($linkl1)];
    $file4 $ordner.$linkl[array_rand($linkl1)];
    $file5 $ordner.$linkl[array_rand($linkl1)];
    $file6 $ordner.$linkl[array_rand($linkl1)];

    header("Content-type: image/png");

    $bild1 ImageCreateFromJpeg($file1);
    $bild2 ImageCreateFromJpeg($file2);
    $bild3 ImageCreateFromJpeg($file3);
    $bild4 ImageCreateFromJpeg($file4);
    $bild5 ImageCreateFromJpeg($file5);
    $bild6 ImageCreateFromJpeg($file6);

    $background imagecreatetruecolor(260,260); //leeres Bild 400x400
    ImageColorTransparent($backgroundImageColorAllocate($background000));
    ImageAlphaBlending($backgroundfalse);
    ImageCopyResampled($background$background0000$w$hImageSX($background), ImageSY($background));

    $groesse1 GetImageSize($file1);
    $groesse2 GetImageSize($file2);
    $groesse3 GetImageSize($file3);
    $groesse4 GetImageSize($file4);
    $groesse5 GetImageSize($file5);
    $groesse6 GetImageSize($file6);

    $skal 0.8;

    #1
    ImageCopyResampled($background$bild10000$groesse1[0]*$skal$groesse1[1]*$skal$groesse1[0], $groesse1[1]);
    #2
    ImageCopyResampled($background$bild2$groesse1[0]*$skal-3000$groesse2[0]*$skal$groesse2[1]*$skal$groesse2[0], $groesse2[1]);
    #3
    ImageCopyResampled($background$bild310$groesse2[1]*$skal-15 00$groesse3[0]*$skal$groesse3[1]*$skal$groesse3[0], $groesse3[1]);
    #4
    ImageCopyResampled($background$bild4$groesse3[0]*$skal-5$groesse3[1]*$skal-1000$groesse4[0]*$skal$groesse4[1]*$skal$groesse4[0], $groesse4[1]);
    #5
    ImageCopyResampled($background$bild5$groesse3[0]*$skal-5$groesse3[1]*$skal-500$groesse5[0]*$skal$groesse5[1]*$skal$groesse5[0], $groesse5[1]);
    #6
    ImageCopyResampled($background$bild6$groesse5[0]*$skal-5$groesse5[1]*$skal-1000$groesse6[0]*$skal$groesse6[1]*$skal$groesse6[0], $groesse6[1]);

    Imagepng($background);

    ?> 

    Vielleicht hat ja einer von euch ne Idee, wie ich die Kollage vom aussehen her etwas netter gestalten soll. Ziel ist es halt, die 200 x 200 Pixel des "Scripts" zu füllen....
Lädt...
X