| 

.NET C# Java Javascript Exception

5
Wenn ich eine JPEG-Grafik auf dem Canvas-Tag platziere bzw. lade und es anschließend mit der toDataURL()-Methode in Base64 kodiere, um die Grafik speicherbar zu machen, wird die Dateigröße um 50 Prozent reduziert! Dies betrifft jedoch nur die JPEG-Dateien. Bilddateien der Formate PNG und GIF werden fast verdoppelt! Das Canvas-Tag hat die selbe Größe wie die Grafikdatei! Ich dachte immer das data:URL-Schema erhöht die Dateigröße!? Wer kann mir dieses Verhalten erklären?

var img = new Image();
img.onload = function ()
{
var width = img.width;
var height = img.height;
context.drawImage(img, 0, 0,width,height);
document.images[0].src = canvas.toDataURL('image/jpeg');
}
img.src = "http://www.roomeffect.de/pageslices/RSB.jpg";
News:
20.01.2012
sevamaster 21 2
1 Antwort
0
Im Gegensatz zu PNG und GIF ist JPEG ein verlustbehaftetes Datenformat.
Das gleiche Verhalten ist auch in professionellen Grafikanwendungen wie z.B. Photoshop zu beobachten. Die geöffneten Bilder brauchen ein vielfaches mehr an Speicher als die Dateien..
Du kannst der toDataURL Methode den Kompressionsfaktor mitgeben (Infos im MSDN)
20.01.2012
Jaksa 4,0k 1 8

Stelle deine Web-Frage jetzt!