PHP-скрипт gd для генерации значков на листах становится черным - PullRequest
0 голосов
/ 27 октября 2018

Я создал скрипт для генерации нескольких изображений из файла json со всеми необходимыми переменными.Что работает, как и ожидалось, но я не хочу просматривать все отдельные значки 1 на 1. Поэтому я подумал, что я создаю второй скрипт для создания листа предварительного просмотра.Но если я запускаю скрипт, все добавленные значки полностью черные.Я вижу, что остальные работают, как и ожидалось, поскольку в последней строке не хватает некоторых.Я должен что-то упустить.

<?php
$images = glob('icons/*.png', GLOB_BRACE);
// Create transparant canvas
$img = imagecreatetruecolor(2430, 2511);
$color = imagecolorallocatealpha($img, 0, 0, 0, 127);
imagefill($img, 0, 0, $color);
imagesavealpha($img, true);
imagealphablending($img, false);
$x = 0;
$y = 0;
$icons = 0;
foreach ( $images as $k ) {
    $icon = imagecreatefrompng($k);
    imagealphablending($icon, false);
    imagesavealpha($icon, true);
    if ( $x >= 30 ) { 
        $y++;
        $x = 0;
    }
    $left = 81 * $x;
    $top = 81 * $y;
    imagecopy($img, $icon, $left, $top, 81, 81, 81, 81);
    $x++;
    $icons++;
}
imagepng($img, "previewsheet.png");
echo "$icons icons added to previewsheet.png\n";

output png пример

Есть проект на git, если кто-то хочет взглянуть.https://github.com/jepke/IconGen

...