Codice PHP:
$info = getimagesize($path."/".$file);
if ($info[2] == 1)
$img = imagecreatefromgif($path."/".$file);
else if ($info[2] == 2)
$img = imagecreatefromjpeg($path."/".$file);
else if ($info[2] == 3)
$img = imagecreatefrompng($path."/".$file);
if ($info[0] > $larg || $info[0] > $larg)
{
$c_x = $info[0]/2;
$c_y = $info[1]/2;
if ($info[0] > $info[1])
{
$l_y = 0;
$l_x = $c_x - $c_y;
$r_y = $info[1];
$r_x = $info[1];
}
else
{
$l_y = $c_y - $c_x;
$l_x = 0;
$r_y = $info[0];
$r_x = $info[0];
}
if ($info[2] != 1)
{
$new = imagecreatetruecolor($larg,$larg);
imagecopyresampled($new, $img, 0, 0, $l_x, $l_y, $larg, $larg, $r_x, $r_y);
}
else
{
$new = imagecreate($larg,$larg);
imagecopyresized($new, $img, 0, 0, $l_x, $l_y, $larg, $larg, $r_x, $r_y);
}
}
else
{
$new &= $img;
}
if ($info[2] == 1)
imagegif($new, $path."/_thumb/".$file);
else if ($info[2] == 2)
imagejpeg($new, $path."/_thumb/".$file, $config['jpg']['compression']);
else if ($info[2] == 3)
imagepng($new, $path."/_thumb/".$file);
imagedestroy($img);
imagedestroy($new);
- $path - Cartella di lettura dell'immagine
- $file - Immagine da ridimensionare
- $larg - Larghezza dell'immagine ridimensionata
Risultato: Immagine delle giuste dimensioni, creata bene ma completamente nera
Non capisco dove sia il problema, ho provato sia con jpg che con png
@edit: Aggiornato il codice
EDIT: Risolto parzialmente il problema, avevo sbagliato a scrivere i nomi di alcune variabili...
Ora ho solo un'altro problema, le gif... In locale ho la versione bundled (2.0.28 compatible) e supporta le gif sia in lettura che in scrittura...
Però mi torna come errore quando provo a creare la thumb...
Codice:
Warning: imagegif(): supplied argument is not a valid Image resource in F:\www\pGallery\index.php on line 72
Warning: imagedestroy(): supplied argument is not a valid Image resource in F:\www\pGallery\index.php on line 79
e le linee sono quella di creazione del file e della distruzione della risorsa...
Qualcuno sa da cosa sia dovuto?
RI-EDIT: Risolto anche quest'ultimo problema delle gif, non mi ero accorto che la gif che usavo per le prove era animata