Hér á eftir kemur klasi sem ég nota til að resiza myndir með gd
Athugið að gd styður ekki gif myndir
Klasinn er upprunalega ekki eftir mig en ég breytti honum lítilega

Upprunalegi kóði:
Image thumbnail0r (with an “0” :])
mike[@]filespanker.com
Klasinn:

class Imageresize {

function percent($p, $w)
{
return (real)(100 * ($p / $w));
}

function unpercent($percent, $whole)
{
return (real)(($percent * $whole) / 100);
}

function resize($img, $w, $h)
{
// Resize it

$ow = imagesx ($img); // Original image width
; $oh = imagesy ($img); // Original image height

// Viðhalda hlutföllunum
// Ef upprunalega breiddin er stærri en upprunalega hæðin
// Þá notum við breiddina sem send var inn og minkum hæðina í
// í réttum hlutföllum
if ($ow > $oh)
{
$nw = $w;
$nh = $this->unpercent($this->percent($nw, $ow), $oh);
}
// Og öfugt ef hæðin er stærri
else if ($oh > $ow)
{
$nh = $h;
$nw = $this->unpercent($this->percent($nh, $oh), $ow);
}
else
{
$nh = $h;
$oh = $w;
}

// Búum til nýja mynd með nýju stærðunum og copyerum upprunalegu
// myndina yfir í hana
$out = imagecreate($nw, $nh);
imagecopyresized($out, $img, 0, 0, 0, 0, $nw, $nh, $ow, $oh);
imagedestroy($img);

// Skilum út resize-uðu myndinni
return $out;
}
}
?>
Til að upploada skrá á vefserverinn þá þarf að búa til form með enctype="multipart/form-data" og file inputi
D&aelig;mi: <form action=&quot;image.php&quot; method=&quot;post&quot; enctype=&quot;multipart/form-data&quot;>
<input name=&quot;img&quot; type=&quot;file&quot;>
<input type=&quot;submit&quot; value=&quot;Senda&quot;>
</form>Muni&eth; bara a&eth; enctype ver&eth;ur a&eth; vera multipart/form-data annars virkar &thorn;etta ekki.
Ef allt gengur a&eth; &oacute;skum &thorn;&aacute; geymir php sj&aacute;lfkrafa skr&aacute;nna &iacute; temp skr&aacute;, h&uacute;n f&aelig;r sama nafn og file input-i&eth; &iacute; forminu, img &iacute; &thorn;essu tilfelli. H&aelig;gt er &thorn;&aacute; a&eth; n&aacute;lgast hana &iacute; gegnum breytuna $img. Einnig ver&eth;a til breyturnar:
$img_name = upprunalega nafn e&eth;a sl&oacute;&eth; &iacute; skr&aacute;nna &aacute; v&eacute;linni sem uploada&eth; var fr&aacute;
$img_size = st&aelig;r&eth; skr&aacute;arinnar
$img_type = mime t&yacute;pa skr&aacute;arinnar

H&eacute;r er d&aelig;mi um notkun &aacute; klasanum.
&THORN;essi forritsb&uacute;tur athugar hvort myndin s&eacute; of st&oacute;r mi&eth;a&eth; vi&eth; &aacute;kve&eth;na breidd og h&aelig;&eth; og ef svo er &thorn;&aacute; er h&uacute;n minnku&eth; &iacute; r&eacute;tta st&aelig;r&eth;.
&Eacute;g eftirl&aelig;t ykkur sj&aacute;lfum a&eth; b&uacute;a til skr&aacute;arn&ouml;fn &aacute; myndirnar, &thorn;a&eth; g&aelig;ti td. veri&eth; id &iacute; gagnagrunni.

<?
// geri ráð fyrir að rezise clasinn sé í skrá sem heitir
// class.imageresize.php
include (“class.imageresize.php”);

// búum til nýjan hlut
$resize = new Imageresize;

// Ákvörðum hámarks leyfilega stærð á myndinni
$width = 60;
$height = 60;

// Pökkunin á jgp myndinni (1-100)
$quality = 75;

// náum á stærðina á myndinni sem upploadað var
$size = GetImageSize ($img);

// Athugum hvort myndin sé ekki örugglega jpeg
if (eregi (“jpeg”, $img_type)) {

// Athugum hvort hæðin eða breidd sé stærri en leyfilegt er
// og ef svo er minnkum við hana
if (($size[0] > $width) || ($size[1] > $height)) {
$imgr = $resize->resize(ImageCreateFromJPEG($img), $width, $height);
imagejpeg ($imgr , “/slod/a/myndasafn/nafnmyndar.jpg” , $quality);
}
// Ef myndin er ekki of stór þá færum við bara orginal myndina
else {
move_uploaded_file ($img, “/slod/a/myndasafn/nafnmyndar.jpg”);
}
}

?>
Endilega bauni&eth; bara &aacute; mig ef &thorn;i&eth; skilji&eth; ekki eitthva&eth;