Er is een tijdje geleden een topic geweest over het schalen van grote hoeveelheden plaatjes in 1 keer. Ik kan de oplossing niet vinden en het topic ook niet, Weet iemand nog hoe dat topic heet?
Ik heb geen idee, en kan het topic ook niet vinden. Maar ik heb wel een functie die de afbeeldingen resized (als je die in je uitlees script aanroept bij afbeeldingen (evt zelf aanpassen zodat die meerdere extenties kan verwerken, dat had ik zelf niet nodig)
Het script is een aanpassing van de ImageResize Functie (hier in de script library), waarbij nu de originele verhoudingen bewaard blijven.
Ik heb hem zelf in gebruik in combinatie met een ander zelfgemaakt script, waarbij die foto's resized, de locatie van de foto opslaat in een database, thumbnails maakt, en een fotoalbum aanmaakt in de database (elke map wordt dan een nieuw (sub)album.

<?
// $breedte is nieuwe breedte
// $hoogte is nieuwe hoogte
// $imgFILE waar het plaatje van gemaakt wordt, het orgineel dus (bijv $_FILES['image']['tmp_name'])
// $imgDIR waar het plaatje naartoe verhuisd als ie gemaakt is
// $imgNAME nieuwe naam voor plaatje (bijv. mysql_insert_id () )
// $imgEXTENSION jpg of voor thumbs _th.jpg etc.
// $quality getal tussen de 0 en 100 waarbij 100 beste kwaliteit is

function create_new_JPGimage ($breedte, $hoogte, $imgFILE, $imgDIR, $imgNAME, $imgEXTENSION, $quality)
{

//temp_photo voor thumbnail maken
$photo = imagecreatefromjpeg($imgFILE);


$target_x = $breedte;
$target_y = $hoogte;
// maten van afbeelding verkrijgen
list($width, $height) = getimagesize($imgFILE);
// als foto hoger dan breed is
if ($height > $width){
$resize_ratio= ceil($width/$target_x);
}
// als foto breder dan hoog is
elseif($height < $width){
$resize_ratio= ceil($height/$target_y);
}
// als foto even breed als hoog is
elseif($height == $width){
$resize_ratio= ceil($width/$target_y);
}
$newheight=ceil($height/$resize_ratio);
$newwidth=ceil($width/$resize_ratio);
$source_used_x = $width;
$source_used_y = $height;
$from_x = '0';
$from_y = '0';

//nieuwe image maken en wegschrijven naar dir

$create_blank = imagecreatetruecolor ($newwidth, $newheight);

imagecopyresampled ($create_blank, $photo, 0, 0, 0, 0, $newwidth, $newheight, $source_used_x, $source_used_y);

$new_filename = $imgDIR.$imgNAME.$imgEXTENSION;

ImageJpeg($create_blank,$new_filename,$quality);

Imagedestroy($photo);
}
?>

Reageren