Icon Umwandel - Automat für das Webfront

Ich habe mal eine Funktion geschrieben welche alle PNG Dateien eines Pfades in das WebFront übliche 32x32 Format wandelt.
Werden kleinere Formate als 32x32 hochgerechnet sieht das dann natürlich nicht so toll aus.

Was muß gemacht werden?

  1. Nur die beiden Pfadangaben anpassen

//Pfad in dem sich die PNG Dateien befinden
$pfad_alt = „C:/IP-Symcon_Ver2/media/“;

//Pfad in den die PNG 32x32 kopiert werden sollen
$pfad_neu = „C:/IP-Symcon_Ver2/webfront/user/icons/fixed/“;

  1. Script starten

Fertig.


$pfad_alt = "C:/IP-Symcon_Ver2/media/"; //Pfad in dem sich die PNG Dateien befinden
$pfad_neu = "C:/IP-Symcon_Ver2/webfront/user/icons/fixed/"; //Pfad in den die PNG 32x32 kopiert werden sollen

if ( !(file_exists($pfad_alt)) or !(file_exists($pfad_neu)) )
{
    echo "Pfad existiert nicht";
    return;
}

$dir = array_slice(scanDir($pfad_alt), 2);
$i = 0;
foreach($dir as $filename)
{
    $ext = pathinfo($filename, PATHINFO_EXTENSION);
    if($ext != "png") unset($dir[$i]);
     $i++;
}
foreach($dir as $filename)
{
    resizePNG($pfad_alt.$filename,$pfad_neu.$filename, 32, 32);
}

//------------------------------------------------------------------------------

function resizePNG($pfad_alt, $pfad_neu, $h_neu, $b_neu)
{
    $png_info               = getimagesize($pfad_alt);
    $b_alt                    = $png_info[0];
    $h_alt                    = $png_info[1];

    $png_alt                 = imagecreatefrompng($pfad_alt);
    $png_farbtiefe         = imagecolorstotal($png_alt);

    if($png_farbtiefe == 0 || $png_farbtiefe > 255)
    {
        $png_neu = imagecreatetruecolor($b_neu, $h_neu);
    }
    else
    {
       $png_neu = imagecreate($b_neu, $h_neu);
    }

    imagealphablending($png_neu, false);
    imagecopyresampled($png_neu, $png_alt, 0, 0, 0, 0, $b_neu, $h_neu, $b_alt, $h_alt);
    imagesavealpha($png_neu, true);
    imagepng($png_neu, $pfad_neu);

    imagedestroy($png_alt);
    imagedestroy($png_neu);
    return true;
 }

//------------------------------------------------------------------------------