热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

javascript–Fabric.js:如何将自定义大小设置为Text或IText?

我使用优秀的Fabric.js在画布中绘制一些文本.当我为我的IText对象指定自定义大小(比如说200×200矩形)时,似乎Farbric.js强制对象的宽度和高度适合文本.

我使用优秀的Fabric.js在画布中绘制一些文本.当我为我的IText对象指定自定义大小(比如说200×200矩形)时,似乎Farbric.js强制对象的宽度和高度适合文本.

var t = new fabric.IText("Hello world !", {
top: 100,
left: 100,
width: 200,
height:200,
backgroundColor: '#FFFFFF',
fill: '#000000',
fontSize: 12,
lockScalingX: true,
lockScalingY: true,
hasRotatingPoint: false,
transparentCorners: false,
cornerSize: 7
});

这是我的问题的小提琴:http://jsfiddle.net/K52jG/4/

在这个例子中,我想要“Hello World!”文本在200×200框中.有可能做到这一点,以及如何做到这一点?

解决方法:

好的,因为它是不可能的,我发现的最好方法是使用Group将IText框嵌套在Rectangle对象中

var r = new fabric.Rect({
width: 200,
height: 200,
fill: '#FFFFFF',
});
// create a rectangle object
var t = new fabric.IText("Hello world !", {
backgroundColor: '#FFFFFF',
fill: '#000000',
fontSize: 12,
top : 3,
});
var group = new fabric.Group([ r, t ], {
left: 100,
top: 100,
lockScalingX: true,
lockScalingY: true,
hasRotatingPoint: false,
transparentCorners: false,
cornerSize: 7
});

这个小提琴的例子:http://jsfiddle.net/4HE3U/1/

注意:我必须为文本设置“顶部”值,因为它开箱即用.值似乎是:fontSize / 4


推荐阅读
author-avatar
729453686_5be5b9
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有