javascript - base64图像中的嵌入字体

标签 javascript html css svg fonts

我给了一个带有一些自定义字体的 svg(通过 css 的字体嵌入) 在浏览器中它工作正常,但如果我尝试从 SVG 制作 base64 编码图像,字体将无法识别。

enter image description here

这是我的代码:

CSS

    svg,text, textPath{
    font-family: 'MyFont';  
    }

@font-face
{
    font-family: MyFont;
    src: src: url(data:application/x-font-ttf;base64,AAEAAAAQA...);
}

JS 我正在使用 RaphaelJS

//set the text's font
t.attr({"font-family": "MyFont"})

//make the snapshot
    var source = new Image();
    $("body").append(source);
    $('body').click(function(){

        // record start time
        var startTime = new Date();

        var svg = $('#paper').html();

        var mySrc = 'data:image/svg+xml;base64,'+Base64.encode(svg);

        //source.src = base64Path + "?" + mySrc.slice(5);
        source.src = mySrc;

        var endTime = new Date();

        console.log(endTime - startTime);


    });

最佳答案

您必须将样式表嵌入 SVG 本身,或从外部引用它。如果 SVG 自行呈现,则不会应用通用页面样式表。

查看 the reference on SVG styling获取更多信息。

关于javascript - base64图像中的嵌入字体,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19453526/

相关文章:

html - 为什么 bootstrap 会截断我的一些文本?

css - ionic 卡上带有叠加文字的图像?

php - 如何使用php调用javascript函数?

javascript - 在 .vue 文件中包含 JS 文件

javascript - 我想更改传单中一层的图标颜色,我有两个点,图层都显示为蓝色默认图标

jquery - Bootstrap 将列保持在一起而没有空格

css - ipad 纵向 View 中的背景图像正在缩小

javascript - Chrome /IE : 'mousemove' event triggered every couple of seconds with no movement/scroll/etc

javascript - JS循环遍历数组来改变段落的innerHTML

javascript - React.js 从数组创建多个表