Menggunakan 0.5.0-beta4, terima kasih banyak untuk modul hebat ini!
Masalah yang saya hadapi adalah, katakanlah saya ada kelas
.class {
font-family: "somefont", "Arial"
}
di mana "somefont" tidak berlaku, hasil akhirnya adalah elemen yang .class akan dirender menggunakan Arial di halaman, tetapi di kanvas, font default diterapkan sebagai gantinya.
Ada ide?
Saya mengalami masalah yang sama.
Ini adalah font Roboto, di Google chrome canary
Ini adalah gambar yang diberikan
Saya menemukan alasannya: orang tua kanvas harus memiliki deklarasi font eksplisit seperti ini:
.container {
font-family: Roboto, "Helvetica Neue", sans-serif;
}
Gabungan / pemisahan di CanvasRenderer.prototype.font menghapus font tambahan. Saya mengirimkan perbaikan untuk itu
Saya tidak yakin apakah ini terkait, tetapi di sini saya pikir saya melihat font yang diberikan dengan benar, tetapi kemudian dilapisi dengan font yang salah?
@ eZ0 Anda benar! Terima kasih!
Seperti yang Anda katakan, saya meletakkan font-family: arial
pada elemen induk kanvas dan bekerja !.
Terima kasih! Terima kasih!
tidak berfungsi, saya mendapat kesalahan yang sama
diberikan oleh
html2canvas(this.$refs.iFr, { useCORS: true }).then(canvas => {
console.log(canvas)
document.body.appendChild(canvas)
canvas.toBlob(function(blob) {
saveAs(blob, 'Dashboard.png')
})
})
Font yang dimuat khusus dari server (bukan CORS) tidak dirender. File css berbasis font-based64 digunakan sebagai font-face ke Liberation Serif
Komentar yang paling membantu
Saya menemukan alasannya: orang tua kanvas harus memiliki deklarasi font eksplisit seperti ini:
.container { font-family: Roboto, "Helvetica Neue", sans-serif; }