kép átméretezése PHP-val
Hello mindenkinek.Egy képátméretező szkriptet írok.
Itt a szkript:
<?php
$image = @getimagesize($image_to_resize);
if (!$image)
{
exit;
}
else
{
/*A kis kep mereteinek kiszamitasa*/
/*Ha panoráma fotó*/
if ($image[0] > $image[1])
{
$resized_y = 160;
$o = ($image[0] / $resized_y);
$resized_x = ($image[1] / $o);
}
/*Ha álló fotó*/
elseif ($image[0] < $image[1])
{
$resized_x = 120;
$o = ($image[1] / $resized_x);
$resized_y = ($image[0] / $o);
}
/*Ha mindkét oldal egyenlő*/
else
{
$resized_x = 120;
$resized_y = 120;
}
switch ($image[2])
{
case "1":
$image_input = imagecreatefromgif($image_to_resize);
break;
case "2":
$image_input = imagecreatefromjpeg($image_to_resize);
break;
case "3":
$image_input = imagecreatefrompng($image_to_resize);
break;
}
$image_output = imagecreate($resized_x, $resized_y);
imagepng($image_output, "image.png");
}
?>
Mit mondtok jo ez? Ha nem miert?
Nem vok annyira jartas a gd-ben.PHP-t is csak egy fel eve kezdtem.
Ezt a 2 hibaüzenetet kaptam
Warning: imagepng() [function.imagepng]: gd-png: fatal libpng error: Invalid number of colors in palette in C:\AppServ\www\resize.php on line 50
Warning: imagepng() [function.imagepng]: gd-png error: setjmp returns error condition in C:\AppServ\www\resize.php on line 50
Ha a "imagepng($image_output, "image.png");" helyett "imagejpeg($image_output, "image.jpg");" - t hasznalok,akkor fekete kepet kapok kimenetnek.Mi a hiba? Esetleg rosz függvényeket használok.Köszönöm a segítséget
■ Itt a szkript:
<?php
$image = @getimagesize($image_to_resize);
if (!$image)
{
exit;
}
else
{
/*A kis kep mereteinek kiszamitasa*/
/*Ha panoráma fotó*/
if ($image[0] > $image[1])
{
$resized_y = 160;
$o = ($image[0] / $resized_y);
$resized_x = ($image[1] / $o);
}
/*Ha álló fotó*/
elseif ($image[0] < $image[1])
{
$resized_x = 120;
$o = ($image[1] / $resized_x);
$resized_y = ($image[0] / $o);
}
/*Ha mindkét oldal egyenlő*/
else
{
$resized_x = 120;
$resized_y = 120;
}
switch ($image[2])
{
case "1":
$image_input = imagecreatefromgif($image_to_resize);
break;
case "2":
$image_input = imagecreatefromjpeg($image_to_resize);
break;
case "3":
$image_input = imagecreatefrompng($image_to_resize);
break;
}
$image_output = imagecreate($resized_x, $resized_y);
imagepng($image_output, "image.png");
}
?>
Mit mondtok jo ez? Ha nem miert?
Nem vok annyira jartas a gd-ben.PHP-t is csak egy fel eve kezdtem.
Ezt a 2 hibaüzenetet kaptam
Warning: imagepng() [function.imagepng]: gd-png: fatal libpng error: Invalid number of colors in palette in C:\AppServ\www\resize.php on line 50
Warning: imagepng() [function.imagepng]: gd-png error: setjmp returns error condition in C:\AppServ\www\resize.php on line 50
Ha a "imagepng($image_output, "image.png");" helyett "imagejpeg($image_output, "image.jpg");" - t hasznalok,akkor fekete kepet kapok kimenetnek.Mi a hiba? Esetleg rosz függvényeket használok.Köszönöm a segítséget
imagecreatetruecolor