shiv / shim / sham
Resimleriniz zaten yüklüyse (veya yüklenmediyse), bu "araç" kullanışlı olabilir:
Object.defineProperty
(
HTMLImageElement.prototype,'toDataURL',
{enumerable:false,configurable:false,writable:false,value:function(m,q)
{
let c=document.createElement('canvas');
c.width=this.naturalWidth; c.height=this.naturalHeight;
c.getContext('2d').drawImage(this,0,0); return c.toDataURL(m,q);
}}
);
.. ama neden?
Bunun "önceden yüklenmiş" görüntü verilerini kullanma avantajı vardır, bu nedenle ekstra bir istek gerekmez. Aditionally o son kullanıcıya (sizin gibi programcı) karar vermenizi sağlar CORS'yi ve / veya mime-type
ve quality
-VEYA- bu argümanlar / anlatıldığı gibi parametreler göz bırakabilir MDN şartname burada .
Bu JS yüklüyse (gerektiğinde), dönüştürmek dataURL
şu kadar basittir:
örnekler
HTML
<img src="/yo.jpg" onload="console.log(this.toDataURL('image/jpeg'))">
JS
console.log(document.getElementById("someImgID").toDataURL());
GPU parmak izi
Bitlerin "kesinliği" konusunda endişeleriniz varsa, bu aracı @ Kaiido'nun cevabının sağladığı şekilde ihtiyaçlarınıza göre değiştirebilirsiniz.