Sie befinden sich hier im Forenarchiv von phpforum.de wenn Sie direkt ins Forum möchten, klicken Sie bitte hier. Zur Startseite kommen Sie hier.

Bild dynamisch verkleinert anzeigen

Hi,
ich wrde gerne Bilder dynamisch verkleinert anzeigen lassen.
Aber wie schon geschrieben, sollen die Bilder nicht irgendwie abgespeichert werden, sondern nur einmalig in dieser Gre angezeigt werden.

Das Bild darf dabei nicht grer sein als z. B. 120x80 Pixel, ansonsten wird es dynamisch verkleinert.
Und deshalb wrde ich da gerne irgendwie in das <img> Attribut soetwas einbauen.

Die Frage ist nur: Wie berechne ich das ganze so dass das Bild dynamisch verkleinert wird?
Und wie kann bzw. muss ich berhaupt feststellen, ob das Bild 120x80 Pixel berschreitet?

Michael

Hier gehts zum Orginal Eintrag "Bild dynamisch verkleinert anzeigen" im Forum

Antworten

Hi

[doc]getimagesize[/doc]

Und siehe
http://www.phpforum.de/forum/showtopic.php?threadid=54635


2.

Ahh, vielen Dank, habe dort noch den Content-Type hinzugefgt, bekomme aber folgende "Meldung":

Code:                   In Zwischenablage kopieren (nur IE)
1">

Und das ganze ist folgender Code:

Code:                   In Zwischenablage kopieren (nur IE)
2">

Wo liegt denn da der Fehler?

Michael


3.

DU erwartest nicht ernsthaft, dass das funktioniert, oder? Wie bindet man Bilder denn richtig in HTML ein?


4.

Sry, aber was ist denn an dem Bild falsch eingebunden? :D
http://de.selfhtml.org/html/grafiken/einbinden.htm

Michael


5.

Du must je Schleifendurchlauf in einem <img> Tag ein Php-script aufrufen und als Parameter zB den filenamen begeben.
Dieses script schreibt dann den header und die Bilddaten

Im Loop:

Code:                   In Zwischenablage kopieren (nur IE)
3">

showbild.php:
Zitat:
// Orginalbild
$bild = "pics/upload/".urldecode($_GET['datei']);

// Bilddaten feststellen
$size = getimagesize($bild);
$breite = $size[0];
$hoehe = $size[1];
$neueBreite = 100;
$neueHoehe = intval($hoehe*$neueBreite/$breite);

// JPG
$altesBild = ImageCreateFromJPEG($bild);
$neuesBild = ImageCreate($neueBreite,$neueHoehe);
ImageCopyResized($neuesBild,$altesBild,0,0,0,0,$neueBreite,$neueHoehe,$breite,$hoehe);
header ("Content-type: image/jpeg");
ImageJPEG($neuesBild);



6.

Ahh cool, ok, vielen Dank, werde ich gleich mal versuchen!

Michael


7.

Ok, habe ich mal gemacht und ich bekomme nun folgendes dabei raus:

Code:                   In Zwischenablage kopieren (nur IE)
4">

Der Code sieht folgendermaen aus:

Code:                   In Zwischenablage kopieren (nur IE)
5">

Was kann da falsch sein?

Michael


8.

Zitat:
<td><a href="detail_view.php?pic=<?php echo $row->upload_file; ?>"><?php printf("<img src='showpic.php?datei=%s' alt='' />", urlencode($row->uploadfile)); ?></a></td>
deine Variable heisst $row->upload_file :D


9.

Hehe, genau, das war der Fehler :D

Jetzt gibts nur noch ein Problem, undzwar ist die Qualitt geradezu grottenschlecht!
Vielleicht knnte man dieses Bild eher als schwarzwei mit einigen weien Elementen bezeichnen, und total verpixelt :D
Wie bekomme ich denn da ne gute Qualitt?

Michael


10.

statt: ImageCopyResized imagecopyresampled verwenden :)


11.

Leider erfolglos, es bleibt immer noch bei einem Schwarz-Weien Bild :(

Michael


Hier gehts zum Orginal Eintrag "Bild dynamisch verkleinert anzeigen" im Forum
 
phpforum.de | Impressum