02. september 2005 - 12:19
Der er
12 kommentarer og 1 løsning
Billede størrelse
Jeg er igang med en lille bruger side, hvor man blandt andet kan uplaode profil billeder. Men da profil billederne er i forskellige størrelser ser det ikke godt ud hvis jeg eksempel sætter billedet til width="150" height="110" Så kan man ikke så gjordt sådan at de selv finder en størrelse der er passende. Så max breden er 220 og max højden er 220. Jeg har virkelig brug for dette, det andet ser virkelig dumt ud og har ledt efter en løsning længe..
Annonceindlæg tema
Offentlig digitalisering
Fra effektivisering til digital suverænitet. Hvordan skaber det offentlige en digital fremtid med AI, sikkerhed og kontrol i centrum?
Slettet bruger
02. september 2005 - 12:34
#1
De fleste billeder følger jo faste standarder f.eks 640 x 480 pixel så du kan i et billedbehandlings-program resize alle dine billeder til samme størrelse f.eks 320 x 240 pixel
02. september 2005 - 12:44
#2
Sider og rette alle brugers profil billeder, galleri billeder ? Nej tak
02. september 2005 - 13:03
#3
function image_resize($src,$dest,$maxWidth,$maxHeight,$quality=100) { if (file_exists($src) && isset($dest)) { // path info $destInfo = pathInfo($dest); // image src size $srcSize = getImageSize($src); // image dest size $destSize[0] = width, $destSize[1] = height $srcRatio = $srcSize[0]/$srcSize[1]; // width/height ratio $destRatio = $maxWidth/$maxHeight; if ($destRatio > $srcRatio) { $destSize[1] = $maxHeight; $destSize[0] = $maxHeight*$srcRatio; } else { $destSize[0] = $maxWidth; $destSize[1] = $maxWidth/$srcRatio; } // path rectification if ($destInfo['extension'] == "gif") { $dest = substr_replace($dest, 'jpg', -3); } // true color image, with anti-aliasing $destImage = imageCreateTrueColor($destSize[0],$destSize[1]); //imageAntiAlias($destImage,true); // src image switch ($srcSize[2]) { case 1: //GIF $srcImage = imageCreateFromGif($src); break; case 2: //JPEG $srcImage = imageCreateFromJpeg($src); break; case 3: //PNG $srcImage = imageCreateFromPng($src); break; default: return false; break; } // resampling imageCopyResampled($destImage, $srcImage, 0, 0, 0, 0,$destSize[0],$destSize[1],$srcSize[0],$srcSize[1]); // generating image switch ($srcSize[2]) { case 1: case 2: imageJpeg($destImage,$dest,$quality); break; case 3: imagePng($destImage,$dest); break; } return true; } else { return false; } }
02. september 2005 - 13:06
#4
Skal jeg bare indsætte det der hvor billedet skal vises?
02. september 2005 - 13:09
#5
nej den her laver om på størrelsen og gemmer billede som nyt men der skal ikke meget redigering til i den fuinktion til bare at vise det resized billede
02. september 2005 - 13:48
#6
æhm :s tror ikke helt i fotstår hvad jeg mener,,,
02. september 2005 - 15:03
#7
hvis du bruger getImageSize() til at få width og height så kan du bare bruge lidt fra den funktion ovenover til at regne ud hvor bredt og højt billedet skal være altså: $maxWidth = 220; $maxHeight = 220; $srcSize = getImageSize($src); $srcRatio = $srcSize[0]/$srcSize[1]; $destRatio = $maxWidth/$maxHeight; if ($destRatio > $srcRatio) { $destSize[1] = $maxHeight; $destSize[0] = $maxHeight*$srcRatio; } else { $destSize[0] = $maxWidth; $destSize[1] = $maxWidth/$srcRatio; } print "<img src=\"$src\" width=\"$destSize[0]\" height=\"$destSize[1]\">";
02. september 2005 - 21:09
#8
Okey, hehe Men der kommer fejl på linje 69 hvilke er $srcRatio = $srcSize[0]/$srcSize[1]; Warning: Division by zero in /customers/unsafe.dk/unsafe.dk/httpd.www/ny/profil.php on line 69
02. september 2005 - 22:11
#9
Nææ hov, nu virker det :D <?php $src = "images/profiles/$rs[id].jpg"; $maxWidth = 200; $maxHeight = 200; $srcSize = getImageSize($src); $srcRatio = $srcSize[0]/$srcSize[1]; $destRatio = $maxWidth/$maxHeight; if ($destRatio > $srcRatio) { $destSize[1] = $maxHeight; $destSize[0] = $maxHeight*$srcRatio; } else { $destSize[0] = $maxWidth; $destSize[1] = $maxWidth/$srcRatio; } ?> Smid et svar dmdisco
03. september 2005 - 13:17
#10
oki
03. september 2005 - 22:47
#11
Eller, hmm Kan du ikke gøre såden at hvis billedet er mindre end de angivet px's bliver det bare dens normale størrelse?
04. september 2005 - 17:43
#12
noget i den her stil så? $src = "images/profiles/$rs[id].jpg"; $maxWidth = 200; $maxHeight = 200; $srcSize = getImageSize($src); if ($srcSize[0] < $maxWidth && $srcSize[1] < $maxHeight) { $destSize[0] = $srcSize[0]; $destSize[1] = $srcSize[1]; } else { $srcRatio = $srcSize[0]/$srcSize[1]; $destRatio = $maxWidth/$maxHeight; if ($destRatio > $srcRatio) { $destSize[1] = $maxHeight; $destSize[0] = $maxHeight*$srcRatio; } else { $destSize[0] = $maxWidth; $destSize[1] = $maxWidth/$srcRatio; } }
05. september 2005 - 07:23
#13
Jaa (: mange tak ;)
Vi tilbyder markedets bedste kurser inden for webudvikling