PHP Forum

PHP Forum (http://www.selfphp.de/forum/index.php)
-   PHP Grundlagen (http://www.selfphp.de/forum/forumdisplay.php?f=12)
-   -   Bild aus BLOB -> GDlib -> Ausgabe ? (http://www.selfphp.de/forum/showthread.php?t=21038)

M*I*B 26.02.2009 11:09:14

Bild aus BLOB -> GDlib -> Ausgabe ?
 
Hallo liebe Leser/innen,

ich hät' da mal wieder eine Aufgabe, die gelöst werden möchte.
Gleich zu aller erst: Ich weiß, was gegen die Speicherung von Bildern in MySQL spricht; das soll nicht das Thema sein muss man ja dazu sagen...)

Vorab muss ich gestehen, das ich mit der GD noch nichts gemacht habe; man sehe mir also meine Unkenntnis nach...

Ich möchte unter Umgehung von temporären Dateien o.ä. direkt die ausgelesenen Binärdaten aus einem LongBlob an die GDlib übergeben, damit ein Resize unter Beachtung der Proportionen machen und das Resultat direkt ausgeben.

Geht das überhaupt? Und wenn ja, wie?

Vielleicht gibt es ja auch eine fertige Klasse o.ä., die genau solche Bild- Ein- und Ausgabemanipulationen bewerkstelligt? Denn in einem zweiten Schritt soll auch eine hochgeladenen Bilddatei mit einem Resize gleich durch die GD laufen, um die DB nicht mit unnütz großen Bilddaten voll zu müllen...


Wäre super, wenn mich dabei mal wer coachen könnte ...

DokuLeseHemmung 26.02.2009 11:34:40

AW: Bild aus BLOB -> GDlib -> Ausgabe ?
 
Zitat:

aus einem LongBlob an die GDlib übergeben
Handbuch kaputt?
Ja komm, hier haste ein neues: http://de3.php.net/manual/de/functio...fromstring.php

M*I*B 26.02.2009 11:51:35

AW: Bild aus BLOB -> GDlib -> Ausgabe ?
 
... Dank für's neue Handbuch ! ;)

Ne, hatte ich irgendwie übersehen; genau das habe ich gesucht... THX

Nachtrag:

Wäre ja auch zu schön gewesen, wenn es auf Anhieb funktioniert *grrr*

Ich habe das Beispiel entsprechend angepasst und in dieser Form auch eingebunden:

$bild = base64_decode($row['picture']);
$im = imagecreatefromstring($bild);
if ($im !== false) {
header('Content-Type: image/png');
imagepng($im);
imagedestroy($im);
} else {
echo 'An error occurred.';
}

Das klappt so nicht. Apache meggert ala "PHP Warning: imagecreatefromstring() [<a href='function.imagecreatefromstring'>function.imagecreatefromstring</a>]: Empty string or invalid image in ...blabla...", die Daten aus dem BLOB sind aber definitiv in "$bild" enthalten und werden über eine direkte Anzeige ala "picture.php" korrekt angezeigt.

Any Idea?

M*I*B 26.02.2009 16:19:05

AW: Bild aus BLOB -> GDlib -> Ausgabe ?
 
... noch was, was ich nicht verstehe:
Warum muss ich erst ein "based64_decode" machen, wenn die daten im BLOB doch schon bereits im m.E. richtigen Format vorliegen?

DokuLeseHemmung 26.02.2009 16:26:30

AW: Bild aus BLOB -> GDlib -> Ausgabe ?
 
Muß man doch gar nicht....
Aber das logische Denken sollte man einschalten und nicht alles blind kopieren.

M*I*B 26.02.2009 16:37:47

AW: Bild aus BLOB -> GDlib -> Ausgabe ?
 
... sehr hilfreich die Antwort; bin ich hier irgendwie anders gewohnt ...

Nur so nebenbei: klappt auch ohne "based64_decode" nicht.

Egal. Ich frag mal wo anders...


Alle Zeitangaben in WEZ +2. Es ist jetzt 05:54:05 Uhr.

Powered by vBulletin® Version 3.8.3 (Deutsch)
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.