Schrift
[thread]8963[/thread]

Description für JPEG's ? (Seite 2)

Leser: 1


<< |< 1 2 >| >> 18 Einträge, 2 Seiten
Froschpopo
 2007-05-08 20:13
#76431 #76431
User since
2003-08-15
2653 Artikel
BenutzerIn
[default_avatar]
[quote=Guest,08.05.2007, 14:02]Das Amateurding kann sehr wohl Strings verarbeiten und hat genau für Deine Anwendung passende Methoden:

Code: (dl )
1
2
3
  @blob=$db->GetImage();
$image=Image::Magick->new(magick=>'jpg');
$image->BlobToImage(@blob);


BlobToImage() habe ich bisher (noch) nicht verwendet, aber der umgekehrte Weg ImageToBlob() funktioniert bei mir astrein.[/quote]
Klingt auf jedenfall interessant ! Versteh's aber trotzdem noch nicht so ganz. Wie kommt denn das Bild in GetImage() rein ??
In der Pod steht darüber auch nichts.
GwenDragon
 2007-05-08 20:24
#76432 #76432
User since
2005-01-17
14849 Artikel
Admin1
[Homepage]
user image
Wenn das Image als BLOB vorliegt, liefert die Datenbank den Binärcode.
Wie du ein Feld einer DB ausliest, weißt du ja, oder ;)
Ansonsten zu DBI und BLOB:
http://search.cpan.org/~timb/DBI-1.55/DBI.pm#Handling_BLOB_/_LONG_/_Memo_Fields\n\n

<!--EDIT|GwenDragon|1178641668-->
Froschpopo
 2007-05-08 20:30
#76433 #76433
User since
2003-08-15
2653 Artikel
BenutzerIn
[default_avatar]
Und was ist dann $db ?
EIn Datenbankhandle kann das ja schlecht sein wenn GetImage() von PerlMagick ist.
Also: Wie bekomme ich das Bild in GetImage?
Code: (dl )
@blob = $perlmagick->getImage($bin_data)

oder wie ist das gemeint?
topeg
 2007-05-08 20:30
#76434 #76434
User since
2006-07-10
2611 Artikel
BenutzerIn

user image
Auf der ImageMagick-Seite selber findet etwas Doku.

Die Funktion "BlobToImage" habe ich schonmal verwendet. Wen es interessiert, der Blob besteht nur aus einem string in dem die RGB Farben (oder RGBA wenn ein Alphakanal dabei ist) ein oder zwei Bite kodiert aneinanderfügt ist. Ein Blob-Bild habe ich immer so rekonstruiert:
Code (perl): (dl )
1
2
$img->Set( size=>$b.'x'.$h, magick=>'RGB', depth=>8 );
$img->BlobToImage($blob);


Auf diese weise kann man auch Bilder zwischen ImageMagick, GTK und SDL austauschen. SDL ist etwas trickreich, da hier die Übergabeparametter etwas anders sind. Testweise hab ich auch schon ein Bildchen als Plob in Perl generiert und dann an GTK übergeben. :-)

Vergessen zu sagen: Das ganze gild natürlich nur wenn man das "magick" allso die Bildkodierung auf "RGB" oder "RGBA" setzt.\n\n

<!--EDIT|topeg|1178641964-->
Froschpopo
 2007-05-08 20:35
#76435 #76435
User since
2003-08-15
2653 Artikel
BenutzerIn
[default_avatar]
ah BlobToImage ! Genau das meinte ich :) Besten Dank allen beteiligten und besonders topeg!

Geht auch ohne Angabe von RGB.. das verwendet PerlMagick scheinbar standarisiert wenn nicht anders gewünscht.\n\n

<!--EDIT|Froschpopo|1178642189-->
topeg
 2007-05-08 20:42
#76436 #76436
User since
2006-07-10
2611 Artikel
BenutzerIn

user image
Allso Bild in die Datenbank:
Code (perl): (dl )
1
2
3
4
my $image = Image::Magick->new;
$image->Read('test_in.jpg');
my @data=$image->ImageToBlob(magick=>'jpeg');
put_data_in_db($data[0]);


Uas der Datenbank lesen:
Code (perl): (dl )
1
2
3
4
my $image = Image::Magick->new;
my $blob=get_data_from_db();
$image->BlobToImage($blob);
$image->Write('test_out.jpg');
topeg
 2007-05-08 20:50
#76437 #76437
User since
2006-07-10
2611 Artikel
BenutzerIn

user image
Es hat etwas damit zu tun wie das "Blob" kodiert wird.
Wenn es als ein JPEG ausgegeben werden soll, so braucht man nichts zu ändern. Das JPEG-Format hat alle nötigen Informationen über Höhe, Breite und Farbtiefe. Will man tatsächich nur einen String mit den Farbwerten pro Pixel muß man die Kodierung des Bildes (magick) auf "RGB" setzen. Damit war es mir möglich ein mit ImageMagick erzeugtes Bild nach GTK zu überführen.
topeg
 2007-05-08 20:52
#76438 #76438
User since
2006-07-10
2611 Artikel
BenutzerIn

user image
Ach noch was. Hier findet man fat alle Informationen über PerlMagick:

ImageMagick: Perl-Magick
<< |< 1 2 >| >> 18 Einträge, 2 Seiten



View all threads created 2007-05-04 03:11.