Ist es möglich, encodeb64 aus einem Image-Objekt zu erstellen?

8

Ich möchte base64-Inline-codierte Daten von Bildern erstellen, die in einer Tabelle mithilfe von Canvases angezeigt werden. Python generiert und erstellt die Webseite dynamisch. Wie es aussieht, verwendet Python das Image-Modul, um Thumbnails zu erstellen. Nachdem alle Thumbnails erstellt wurden, generiert Python Base64-Daten für jedes Thumbnail und fügt die b64-Daten in verborgene Bereiche auf der Webseite des Benutzers ein. Ein Benutzer klickt dann nach jedem Miniaturbild Häkchen in Bezug auf sein Interesse. Sie erstellen dann eine PDF-Datei, die ihre ausgewählten Bilder enthält, indem sie auf die Schaltfläche PDF generieren klicken. Das JavaScript, das jsPDF verwendet, generiert die verborgenen span-b64-Daten, um die Bilddateien in der PDF-Datei und schließlich die PDF-Datei zu erstellen.

Ich hoffe, dass ich die Ausführungszeit des Python-Skripts reduzieren und einige Datenträger-E / A-Vorgänge minimieren kann, indem ich die base64-Miniaturdaten im Speicher während der Skriptausführung erzeuge.

Hier ist ein Beispiel für das, was ich gerne erreichen würde.

%Vor%

Dies funktioniert leider nicht, erhalten Sie einen TypeEorr -

%Vor%

Irgendwelche Gedanken, wie Sie das erreichen können?

    
0xhughes 17.04.2013, 16:46
quelle

3 Antworten

12
___ answer38472188 ___

In Python 3 müssen Sie möglicherweise im.tostring() :

verwenden %Vor%     
___ tag123python ___ Python ist eine dynamische und stark typisierte Programmiersprache, die die Usability betont. Zwei ähnliche, aber größtenteils inkompatible Versionen von Python sind weit verbreitet (2 und 3). Wenn Sie eine versionsspezifische Python-Frage haben, sollten Sie die Tags [python-2.7] oder [python-3.x] zusätzlich zum Tag [python] verwenden. Wenn Sie eine Python-Variante wie jython, pypy, iron-python usw. verwenden, kennzeichnen Sie diese bitte entsprechend. ___ qstntxt ___

Ich möchte base64-Inline-codierte Daten von Bildern erstellen, die in einer Tabelle mithilfe von Canvases angezeigt werden. Python generiert und erstellt die Webseite dynamisch. Wie es aussieht, verwendet Python das Image-Modul, um Thumbnails zu erstellen. Nachdem alle Thumbnails erstellt wurden, generiert Python Base64-Daten für jedes Thumbnail und fügt die b64-Daten in verborgene Bereiche auf der Webseite des Benutzers ein. Ein Benutzer klickt dann nach jedem Miniaturbild Häkchen in Bezug auf sein Interesse. Sie erstellen dann eine PDF-Datei, die ihre ausgewählten Bilder enthält, indem sie auf die Schaltfläche PDF generieren klicken. Das JavaScript, das jsPDF verwendet, generiert die verborgenen span-b64-Daten, um die Bilddateien in der PDF-Datei und schließlich die PDF-Datei zu erstellen.

Ich hoffe, dass ich die Ausführungszeit des Python-Skripts reduzieren und einige Datenträger-E / A-Vorgänge minimieren kann, indem ich die base64-Miniaturdaten im Speicher während der Skriptausführung erzeuge.

Hier ist ein Beispiel für das, was ich gerne erreichen würde.

%Vor%

Dies funktioniert leider nicht, erhalten Sie einen TypeEorr -

%Vor%

Irgendwelche Gedanken, wie Sie das erreichen können?

    
___ qstnhdr ___ Ist es möglich, encodeb64 aus einem Image-Objekt zu erstellen? ___ answer16067722 ___

Sie müssen das Bild zuerst erneut im JPEG-Format speichern. Die Verwendung der %code% -Methode würde ansonsten Rohbilddaten zurückgeben, die kein Browser erkennen würde:

%Vor%

Dies können Sie dann zu base64 verschlüsseln:

%Vor%

Hier ist eine, die ich mit dieser Methode gemacht habe:

%Vor%

Leider erlaubt mir der Markdown-Parser das nicht als tatsächliches Bild, aber Sie können es stattdessen in einem Snippet in Aktion sehen:

%Vor%
    
___ tag123base64 ___ Base64 ist ein Satz von Codierungsschemas, die binäre Daten in einem ASCII-String-Format darstellen. ___ answer16065767 ___
%Vor%

Ich denke, würde funktionieren

    
___ tag123pythonimaginglibrary ___ Die Python Imaging Library (PIL) bietet der Python-Sprache eine de-facto-Standardgrundlage für die Bildbearbeitung. Die API von PIL ist leicht, aber semantisch konsistent; Es bietet eine Reihe von komfortablen Pythonic-Tools in einem großen Teil des Imaging-Lexikons: Verarbeitung, Analyse, Komprimierung und Codec-Abstraktion usw. - all dies baut auf einer maßgeschneiderten und leicht erweiterbaren Bibliotheksstruktur auf. ___
Martijn Pieters 17.04.2013, 17:47
quelle
3
%Vor%

Ich denke, würde funktionieren

    
Joran Beasley 17.04.2013 16:51
quelle
2

In Python 3 müssen Sie möglicherweise BytesIO :

verwenden %Vor%     
Arefly 20.07.2016 04:13
quelle