Thread Tk::Photo - Data konvertieren (Base64)
(13 answers)
Opened by Kean at 2011-06-15 13:42
Der Doku zufolge soll man es so machen $image_new->data(-format => 'gif') um ein String zu bekommen der Base64 kodiert das GIF-Bild enthält. Aber das funktioniert bei mir nicht. Das Format "gif" wird nicht erkannt.
Ein funktionierendes Würg-Around ist: Code (perl): (dl
)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 #!/usr/bin/perl use strict; use warnings; use Tk; use MIME::Base64; use Image::Magick; my $mw = MainWindow->new(); #my $image_data = 'R0lGODlhBgAGAJEAANnZ2QAAAP///////yH5BAEAAAAALAAAAAAGAAYAAAINjA0HAEdwLCwMKIQfBQA7'; my $image_data = 'R0lGODlhBgAGAPABAAAAAP///yH5BAEAAAEALAAAAAAGAAYAAAIJhB0Xq+y5YGQFADs='; print $image_data."\n"; my $image = $mw->Photo(-data => $image_data, -format => 'gif'); $image->write('test.gif', -format => 'gif'); my $image_new = $mw->Photo( -file => 'test.gif', -format => 'gif' ); my $img=Image::Magick->new(); $img->BlobToImage($image_new->data(-format => 'XPM')); #$img->Set(magick => 'gif'); #$img->Write('test2.gif'); my $image_data_new = encode_base64($img->ImageToBlob(magick => 'gif')); print $image_data_new; exit; Die Strings unterscheiden sich, da bei der Umwandlung von GIF nach XPM die Kommentare verloren gehen. Benutzt man ein GIF ohne Info-Block sind die beiden Strings identisch. View full thread Tk::Photo - Data konvertieren (Base64) |