du använder imageCreateFromPNG() och imagePNG() samt se till att du har libpng installerat
eller det kanske räcker med GD bara .. ?
5 svar · 549 visningar · startad av apaaa
Hej, lite problem med mitt bild script.
För att skapa en jpg bild ser kör jag följande kod
$dst_im = imagecreatetruecolor($dstW, $dstH);
imagecopyresampled ( $dst_im, $src_im, 0, 0, 0, 0, $dstW, $dstH, $srcW, $srcH);
imagejpeg($dst_im, "Bilder/TEST/apa.$filetyp[1]", 90);
imagedestroy($src_im);
imagedestroy($dst_im);
Men hur gör jag för skapa png, gif bilder?
om jag bara byter ut imagejpeg till imagepng eller imagegif så blir bilderna helt svart, varför?
Antar att imagecopyresampled bara fungerar på jpg-bilder, vad skriver man istället för png och gif?
Mvh Anders.
du använder imageCreateFromPNG() och imagePNG() samt se till att du har libpng installerat
eller det kanske räcker med GD bara .. ?
Fuel skrev:
du använder imageCreateFromPNG() och imagePNG() samt se till att du har libpng installerat
eller det kanske räcker med GD bara .. ?
Jo, så långt fungerar det men, om jag vill göra om storleken(x*y) på den också?
$src_img=imagecreatefrompng($name);
// width & height från bilden
$old_w=imageSX($src_img);
$old_h=imageSY($src_img);
// Egna mått
$thumb_w="200";
$thumb_h="100";
$dst_img=ImageCreateTrueColor($thumb_w,$thumb_h);
imagecopyresampled($dst_img,$src_img,0,0,0,0,$thumb_w,$thumb_h,$old_w,$old_h);
Hoppas jag inte har tokfel .. det var ett tag sen.. :bire
Edit: blir ett mellanslag i thumb_h
Fuel skrev:
$src_img=imagecreatefrompng($name); // width & height från bilden $old_w=imageSX($src_img); $old_h=imageSY($src_img); // Egna mått $thumb_w="200"; $thumb_h="100"; $dst_img=ImageCreateTrueColor($thumb_w,$thumb_h); imagecopyresampled($dst_img,$src_img,0,0,0,0,$thumb_w,$thumb_h,$old_w,$old_h);Hoppas jag inte har tokfel .. det var ett tag sen.. :bire
Edit: blir ett mellanslag i thumb_h
Så ser min kod ungfär, men bilderna blir hetl svarta, både för png och gif.
Min kompletta kod;
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
</head>
<body>
<form id="form" name="form" enctype="multipart/form-data" method="post" action="test.php?do=apa">
<input type="file" name="file" />
<input type="submit" name="Knapp" value="Skicka" />
</form>
</body>
</html>
<?php
if($_REQUEST['do'] == "apa") {
$fileName = $_FILES['file']['name'];
$fileType = $_FILES['file']['type'];
$fileSize = $_FILES['file']['size'];
$fileTmpName = $_FILES['file']['tmp_name'];
$fileError = $_FILES['file']['error'];
$filetyp = split("/", $fileType);
$apa = "1.$filetyp[1]";
echo $filetyp[1];
if($fileName != ""){
if($fileError == 0){
$filePath = "D:/WWWROOT/Projekt/Bilder/Test/$apa";
move_uploaded_file($fileTmpName,$filePath);
}else{
die("ett fel uppstod vid uppladdningen.");
}
}
if($filetyp[1] == "jpg" or $filetyp[1] == "jpeg") {
$src_im = imagecreatefromjpeg($filePath);
}
elseif($filetyp[1] == "gif") {
$src_im = imagecreatefromgif($filePath);
}
elseif($filetyp[1] == "png") {
$src_im = imagecreatefrompng($filePath);
}
$srcW = imagesx($src_im);
$srcH = imagesy($src_im);
$thumb = 300;
if($srcW < 300 and $srcH < 300) {
$dstW = $srcW;
$dstH = $srcH;
}
elseif($srcW > $srcH) {
$ratio = $srcH / $srcW;
$dstH = $thumb * $ratio;
$dstW = $thumb;
}
elseif($srcH > $srcW) {
$ratio = $srcW / $srcH;
$dstW = $thumb * $ratio;
$dstH = $thumb;
}
elseif($srcH == $srcW) {
$dstW = $thumb;
$dstH = $thumb;
}
echo "width $dstW <br> height $dstH<br>$ratio<br>$fileType";
$dst_im = imagecreatetruecolor($dstW, $dstH);
imagecopyresampled ( $dst_im, $src_im, 0, 0, 0, 0, $dstW, $dstH, $srcW, $srcH);
imagepng($dst_im, "Bilder/TEST/apa.png");
#imagejpeg($dst_im, "Bilder/TEST/apa.jpg");
#imagegif($dst_im, "Bilder/TEST/apa.gif");
imagedestroy($src_im);
imagedestroy($dst_im);
}
?>
imagejpeg($dst_im, "Bilder/TEST/apa.png"); fungerar helt utmärkt men imagegif och png vill inte fungera.
Om jag försöker kopiera en gifbild eller en pngbild och spara som jpgbild eller dylikt så blir den också svart, varför?
Mvh Anders.
Nu har jag fått ordning på det, på något sätt?
Måste varit någon med min phpinstall att göra, installerad om sedan fungerade det, efter att prövat olika saker i ca 8timmar :\
Skam den som ger sig!