bild ratio

hallo, habe folgendes script:

<?

$dateiname=$_GET["dateiname"];

$bild = "upload/$dateiname";

$x = 120;
$y = 120;

$imagedata = getimagesize ($bild);
$image = imagecreatefromjpeg($bild);
$thumb = imagecreatetruecolor ($x, $y);

imagecopyresized ($thumb, $image, 0,0,0,0,$x,$y,$imagedata[0],$imagedata[1]);

imagejpeg($thumb,'upload/thumbs/'.$dateiname,50);

?>


klappt auch alles einwandfrei, jetzt, möchte ich aber, das er die ratio von dem bild beibehält, also die pixel:pixel nur das er halt die maximale größe von 120 * 120 macht

damit das bild später nicht verzogen ist.
 
Hallo,
einfach mal bei Google nach Thumbnail Suchen oder einfach mal mathematisch dran gehen, mehr als 1 Division, 1 Vergleich und 1 Multiplikation ist das nicht.
 
gibt es nicht einfach einen art ratio befehl?^^


edit:

habs jetzt hinbekommen :-P

$size= GetImageSize($bild);
$breite=$size[0];
$hoehe=$size[1];
$neueBreite=120;
$neueHoehe= intval($hoehe*$neueBreite/$breite);
 
das funktz. aber nur wenn die höhe kleiner ist als die breite, weil sonst ist zwar die breite = 120 die höe aber größer...
ich würd das umändern in folgendes:
PHP:
$size= GetImageSize($bild);
$breite=$size[0];
$hoehe=$size[1];
if($hoehe < $breite) {
  $neueBreite=120;
  $neueHoehe= intval($hoehe*$neueBreite/$breite);
} else {
  $neueHoehe=120;
  $neueBreite= intval($hoehe*$neueHoehe/$hoehe);
}
 
ah oke, danke.

hab noch ne andere frage... und zwar:

ich einen server auf dem läuft ein vb forum, in dem forum kann ich dateien hochladen, die weitaus größer als 10 mb sind.

ich habe mir jetzt mein upload script gebastelt. das habe ich hochgeladen, und es funst auch gut. nur wenn ich jetzt ein bild hochlade, das ungefähr 2 mb groß ist, dann stellt er es nicht hoch. bei einem bild, das unter einem mb groß ist (hab nicht GENAU die grenze getestet), geht es einwandfrei. liegt dies jetzt an meinem server? denn eig. ja nicht, denn ich kann ja wie gesagt weitaus größere dateien hochladen. oder liegt es an meinem script? oder an was liegt es?
 
Hallo,
ja vermutlich liegst am Server. Dieser macht viele Einschränkungen bzgl. der Größe von hochgeladen Dateien bzw. die Größe von Dateien die dieser verkleinern kann.

Aber mal ehrlich, wer lädt ein Avatarbild mit 10 MB größe hoch?
Selbst bei Urlaubfotos kommt man i.d.R. mit 500 KB ganz gut weg
 
naja, 10 mb is schon fast unlogisch^^

aber ich hab 2 mb, und damit gehts nicht, um ehrlich zu sein, wollte ich ein script schreiben, für jemmand der sich rein gar nicht mit teschnik auskennt, der dann nur die pics hochläd, und die größe dann geändert wird, aber die bilder sind alle um die 2 mb groß :(
 
in der php.ini datei ist die maximale größe des uploads gesetzt. Das solltest du mal checken... wenn du allerdings nur einen webspace hast kannst du daran wenig ändern.
das gleiche gilt auch fürs timeout was ja auch der grund seien könnte wenn man eine langsame internet verbindung hat,bzw. die datei zu groß ist...
 
Zurück
Oben