Drugim argumentem funkcji jest jakość. waha się od 0,0 do 1,0
canvas.toDataURL(type,quality);
Here zostały rozszerzone informacje
I nie sądzę, że to możliwe, aby poznać jakość obrazu, kiedy zostanie przekonwertowany. Jak widać na tej feedle jedyną informacją, jaką uzyskasz podczas drukowania wartości na konsoli jest typ i sam kod obrazu.
Oto fragment kodu, w którym poznałem domyślną wartość jakości używanej przez przeglądarkę.
var c=document.getElementById("myCanvas");
var ctx=c.getContext("2d");
ctx.fillStyle="#FF0000";
ctx.fillRect(0,0,150,75);
var url = c.toDataURL('image/jpeg');
var v = 0
for(var i = 0; i < 100; i++){
v += 0.01;
x = parseFloat((v).toFixed(2))
var test = c.toDataURL('image/jpeg', x);
if(test == url){
console.log('The default value is: ' + x);
}
}
W zasadzie myślałem, że zmiana na samym obrazie zostanie odzwierciedlona na łańcuchu base64. Zatem kod po prostu wypróbuj wszystkie możliwe wartości w metodzie toDataURL()
i porównuje wynikowy ciąg z domyślnym. I wydaje się, że działa. Dla chromu uzyskuję 0,92.
Here to działający przykład na skrzypcach.
wartość domyślna Firefox jest również 0,92 –
0,92 Chrome 32 też. –