001
25.03.2007, 22:04 Uhr
FloSoft
Medialer Over-Flow (Administrator)
|
Hi, evtl so:
Code: |
<img src="http://external/image" width="100" style="max-height: 200px">
|
Problem nur: < ie6 funktioniert max-height nicht, d.h wenn einer ein 1x10000px bild einbindet zeigt er das als 100x1000000 an
Wenn du PHP o.ä verfügbar hast, kannste das von nem script einlesen lassen und dir ausrechnen lassen.
Oder du speicherst es direkt beim abspeichern vom profil, wär aber auch doof (oder du lässt halt nur upload zu, dann kann mans ausrechnen lassen vom script)
oder so (mal schnell zusammengeschustert)
Code: |
<?php
header("Expires: Mon, 01 Jul 1990 00:00:00 GMT"); header("Last-Modified: " . gmdate("D, d M Y H:i:s") ." GMT"); header("Pragma: no-cache"); header("Cache-Control: no-store, no-cache, max-age=0, must-revalidate");
$url = @base64_decode(@urldecode($_GET['image'])); $u = @parse_url($url); if($u['scheme'] != "http" && $u['scheme'] != "ftp" && $u['scheme'] != "https") { print_r($u); die("Unknown URL $url"); }
$size = @getimagesize($url, $info); while($size[0] > 100) { $nsize[0] = round($size[0] / 1.2,0); $nsize[1] = round($size[1] / 1.2,0); }
$img = 0;
switch($size[2]) { case 1: // gif $img = ImageCreateFromGIF($url); break; case 2: // jpeg $img = ImageCreateFromJPEG($url); break; case 3: // png $img = ImageCreateFromPNG($url); break; case 4: // swf, unsupported break; } if(!$img) die("Open URL $url failed");
if(isset($nsize)) { $nimg = ImageCreateTrueColor($size[0], $size[1]); ImageCopyResized($nimg, $img, 0, 0, 0, 0, $nsize[0], $nsize[1], $size[0], $size[1]); switch($size[2]) { case 1: header("Content-Type: image/gif", true); ImageGIF($nimg); break; default: header("Content-Type: image/png", true); ImagePNG($nimg); } } else { switch($size[2]) { case 1: header("Content-Type: image/gif", true); ImageGIF($img); break; default: header("Content-Type: image/png", true); ImagePNG($img); } }
?>
|
und dann z.B so einbinden:
Code: |
$url = "http://external/image";
// ...
<img src="image.php?image=<?= urlencode(base64_encode($url)) ?>">
|
-- class God : public ChuckNorris { }; Dieser Post wurde am 25.03.2007 um 22:08 Uhr von FloSoft editiert. |