• Генератор уникальных изображений?

    rabbit418
    @rabbit418
    23 yo Designer from Ukraine
    Все очень просто. Есть же GD. Все что нам остается это создать 4 папки.

    /backgrounds - сюда скидываем фоны
    /filters - сюда фильтры
    /texts - сюда картинки с текстами
    /results - тут будут готовые картинки

    И запускам скрипт который я написал ниже.

    <?php
    $backgrounds = array_diff(scandir('./backgrounds/'), array('.','..','.DS_Store'));
    $texts = array_diff(scandir('./texts/'), array('.','..','.DS_Store'));
    $filters = array_diff(scandir('./filters/'), array('.','..','.DS_Store'));
    
    function nameGenerator($length) {
        return substr(str_shuffle("_0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"), 0, $length);
    }
    
    // 
    foreach ($backgrounds as $background) {
        // 
        foreach ($texts as $text) {
            // 
            foreach ($filters as $filter) {
                // 
                $layer1 = imagecreatefrompng("./backgrounds/{$background}");
                $layer2 = imagecreatefrompng("./texts/{$text}");
                $layer3 = imagecreatefrompng("./filters/{$filter}");
    
                // 
                imagealphablending($layer1, true);
                imagesavealpha($layer1, true);
    
                // 
                imagecopy($layer1, $layer2, 0, 0, 0, 0, 900, 900);
                imagecopy($layer1, $layer3, 0, 0, 0, 0, 900, 900);
    
                // 
                imagejpeg($layer1, "./results/".nameGenerator(10).".jpg");
    
                // 
                imagedestroy($layer1);
                imagedestroy($layer2);
                imagedestroy($layer3);
            }
        }
    }
    ?>
    Ответ написан
    4 комментария