今天前端用fabric画一些东西;
(fabric这玩意真的贼厉害,画布内的对象可拖动可大小可删除可平移)
里面有文字有图片;
因为里面的图片引用的是公司七牛的地址;
所以用fabric去 todataUrl 会报错,跨域问题;
尝试了一下canvas里面的设置图片跨域属性啥的
有用是有用,但仅限img onload完之后用canvas的todataUrl();
fabric.todataUrl()依然会报错…
所以我采取了fabric.toSVG() 这个方法传到后台用java svg转png;
注:(生成的svg字符串我转成base64到后台然后转成byte[] 去转png 不知道其他方法可不可行,这个我感觉烦了点)
但是生成的svg传到后台服务器,然后再返回到前台的图片上的中文全变成了空格…
一想服务器中文字体没装,然后。。。
参考这篇博客:
Ubuntu的中文乱码问题 [完美解决]
装完不用重启服务器,直接发包上去看了一下,空格都变成中文了;
但是!!!遇到一个问题,画布上的字体和生成出来的图片上的文字样式不一样,间距也不一样!!
我画布上显示的是黑体,但是生成的是楷体一样的字体
哎,愁死我了,经过一番某度,一番折腾
在fabric的文字配置里面加了个:fontFamily:'Simhei’
咦!好了!开心归开心,但是废了我一天时间!