Bildgröße von externen bildern ändern (PHP)

  • Ersteller Ersteller PHP-Simon
  • Erstellt am Erstellt am
P

PHP-Simon

Gast
WIe kann ich die bildgröße von bildern ändern, die ein user in einem beitrag extern einfügt?


Code:
er gibt ein: [img]bild[/img]

dann wird ersetzt (str_replace)
Code:
[img]--> <img src="
[/img] --> ">

wenn jetzt aber ein bild größer als eine bestimmte auflösung ist, wird mein deisgn "zerrissen".

wie kann ich das verhindern?
 
Also, als setzt du eine maximale Bildgröße fest und holst dir die Bildgröße:
PHP:
<?php
   $maxwidth = 800;
   $img = "test.jpg";
   $size = getimagesize( $img); //$size[0] Breite und $size[1] Höhe
   if($size[0] > $maxwidth)
     {
        $dstwidth=$max_width/$size[0] * $size[1];
        echo "<img src=\"$img\" height=\"800\" width=\"$dstwidth\" alt=\"Grafik konnte nicht geladen werden\"/>"; //alt=".." für W3
     }
?>
So irgentwie.. musst das ganze dann noch in deine Schleife implementieren oder was du dort benutzt. Hoffe, dass es funktioniert, habe es nicht getestet^^
MfG J!0X
 
Ne - so gehts nicht, da dies eine Remote-Datei ist. Die einzig logische Lösung ist das ganze mit Javascript zu regeln.

also im ImageTag einfach reinmachen:
HTML:
<img src="..." onLoad="my_resize(this)" />

Dann musst du dir Funktion my_resize noch irgendwie zusammenbasteln:
HTML:
<script>
function my_resize(imgObj) {
    var img = new Image(imgObj.src);

    if(img.width > 800) {
       imgObj.width = 800;
    }
}
</script>

Wie genau du das resizen machst - überlass ich dir ;)
 
Enigma schrieb:
Ne - so gehts nicht, da dies eine Remote-Datei ist. Die einzig logische Lösung ist das ganze mit Javascript zu regeln.

also im ImageTag einfach reinmachen:
HTML:
<img src="..." onLoad="my_resize(this)" />

Dann musst du dir Funktion my_resize noch irgendwie zusammenbasteln:
HTML:
<script>
function my_resize(imgObj) {
    var img = new Image(imgObj.src);

    if(img.width > 800) {
       imgObj.width = 800;
    }
}
</script>

Wie genau du das resizen machst - überlass ich dir ;)



na, das ist ja schonmal was! Vielen DAnk!!!

aber ich habe von javascript keine ahnung... kannst du mir helfen?
 
Code:
<script>
 function my_resize(imgObj) 
{ 
var img = new Image(imgObj.src);
 if(img.width > 800) 
{ 
imgObj.width = 800; 
}
 } </script>

Der Code hat leider nciht funktioniert. Kann mir jemand helfen? Außerdem gibt es bei img-tags keinen onload-paramter (sagt zumindest mein dreamweaver)

Ich habe mir überlegt, die funktion so einzubauen:

Code:
width="javascript:my_resize(this)"

leider klappt auch das nicht...


Hat irgendjemand hier ne Ahnung, wie ich das am besten anstellen könnte?

Vielen Dank schonmal
 
Zurück
Oben