Image je nach Auflösung skalieren

DaKa

Mitglied
Dummw Frage:

Wie schaffe ich es mit PHP ein Bild je nach der Auflösung des Betrachter passgenau zu skalieren.

Sorry for the nuby question :%
 
hm... soooo n00b find ich die garned *g* hab selbst keine ahnung ;)
aber interessieren würds mich auch ;)
waiting 4 answers 2 this thread

sepp
 
du musst erst einmal über javascript die die information holen, welche browsergröße der user benutzt.

dann kannst du über scripts wie das unten das bild in der größe verändern. unteres script funktiuoniert jedoch nur bei jpgs.

hier kannst du über die url die breite und den pfad angeben.

wenn du also das bild "me.jpg" auf 200pixel skaliert haben willst, setz in das img tag folgendes:

href="imgresize.php?path=me.jpg&width=200"

vorausgesetzt, du nennst die datei in dem dieses script ist imgresize.php

PHP:
<?php

$img_size = getimagesize($path);
$img_size[4] = $img_size[0]/$width;
$faktor = 100/$img_size[4];
$img_size[1] = $img_size[1]/100;
$img_size[0] = $img_size[0]/100;
$img_size[1] = $img_size[1]*$faktor;
$img_size[0] = $img_size[0]*$faktor;





function createimage($width, $height){
    $imgh = imagecreate($width, $height);
    $bgc = imagecolorallocate($imgh, 230, 230, 230);
    return $imgh;
}

$imgh = createimage($img_size[0], $img_size[1]);
$imgh2 = imagecreatefromjpeg($path);
$imgsz = getimagesize($path);
$black = imagecolorallocate($imgh2, 0, 0, 0);
$font = 3;
imagecopyresized($imgh, $imgh2, 0, 0, 0, 0, $img_size[0], $img_size[1], $imgsz[0], $imgsz[1]);

header("Content-Type: image/jpeg");
imagejpeg($imgh, '', 75);
imagedestroy($imgh);
?>
 
dann müsste natürlich optimaler weise die kleinste version angezeigt werden. lässt sich auch lösen.

oder hast du eine andere idee?
 
Zurück