hoi,

ik ben nu met een gastenboek bezig en heb het probleem als iemand een img naar het scherm schrijft, en die is breeder dan 620 pixels dan gaat de hele layout er aan, dus ik ben op zoek naar een functie dat een maximum een maximum zet aan een img.
je moet ff kijken naar de functie http://www.php.net/getimagesize/

hiermee kun je de hoogte en breedte van een plaatje herkennen..

als je dan checked of hij groter is dan 620 pixels, dat hij hem dan een vaste breede van 620 pixels geeft..

wat je daarna ook nog kan doen om het mooier te maken, is het verschil tussen het orrigineel en de 620 pixels berekenen..

het verschil trek je dan vervolgens ook af van de hoogte, zodat het plaatje niet vervormd.. succes :)
ok hee bedankt
ik kom met dat hoogte en breedte niet echt uit, het vervormd nu, zou je ff een voorbeeld daarvan willen geven?
<?
$plaatje = "plaatje.gif";

$size = getimagesize($plaatje);

if ($size['0'] > 620)
{
$width = 620;
$verschil = $size['0'] - 620;
$height = $size['1'] - $verschil;
}
else
{
$width = $size['0'];
$height = $size['1'];
}

echo "<img src=\"" . $plaatje . "\" width=\"" . $width . "\" height=\"" . $height . "\" />";
?>
nu vervormen mijn plaatjes helemaal, ik moet toch met een verhouding werken?
ja moeje ff voor rekenen.. en zo zou het moeten werken.. misschien heb ik $size['0'] en $size['1'] met elkaar verward..

ik ga hiervan uit dat size[0] width is en size[1] height :)

check www.php.net/getimagesize
Nope is hoogte X breedte.

Je kunt bij het verkleinen de verkleiningsfactor berekenen

bijv: vaste hoogte = 250
hoogte plaatje = 500
breedte = breedte / (hoogte / vaste hoogte)
ja maar het is een gastenboek duz weet je niets van het plaatje af
Dan moet je eerst het hele bericht van de site opsplitsen zoals dit:

<?php

$bericht = "texttexttext <img src="bestand.gif"> textextetxtetststa";

$chunks = explode("<img src=\"", $bericht);


$bit = explode("\"", $chunks[1]);
$picture = $graph[0];

$size = getimagesize($picture);
if ($size['1'] > 620)
{
$width = 620;
$verkleining = $size['1'] / 620;
$height = $size['0'] / $verkleining;
}
else
{
$width = $size['1'];
$height = $size['0'];
}

echo "<img src=\"" . $plaatje . "\" width=\"" . $width . "\" height=\"" . $height . "\" />";
?>


Er zal beslist een makkelijkere manier zijn om dit te doen maar voor zover weet ik alleen deze..
ok, ik heb van dit script een functie gemaakt en probeer hem in te bouwen in:

<?
$naam = preg_replace("#\[img\](.*?)\[/img\]#si","<img src=\"\\1\">", $naam);
?>

De functie ziet er zo uit:
<?
function imgcontrole($plaatje) {
$size = getimagesize($plaatje);
if ($size['0'] > 620) {
$width = 620;
$verschil = ($size['1'] / $size['0']) * 620;
$height = $verschil;
} else {
$width = $size['0'];
$height = $size['1'];
}
$uitvoer = "width=\"" . $width . "\"
height=\"" . $height . "\" ";
return($uitvoer);
}

?>


Als ik het probeer in te bouwen krijg ik de volgende error:
Warning: getimagesize: Unable to open '\1' for reading. in
, weet iemand wat het probleem is?

Reageren