【发布时间】:2013-11-26 06:23:39
【问题描述】:
在 paperjs 中,我找不到调整文本项 pointText 大小的方法。我希望我的用户能够单击以选择文本项,然后当手柄出现时能够拖动以调整文本大小(保持纵横比)。文档中没有明确或可行的地方。我有一种感觉,我错过了什么或不可能。
【问题讨论】:
标签: paperjs
在 paperjs 中,我找不到调整文本项 pointText 大小的方法。我希望我的用户能够单击以选择文本项,然后当手柄出现时能够拖动以调整文本大小(保持纵横比)。文档中没有明确或可行的地方。我有一种感觉,我错过了什么或不可能。
【问题讨论】:
标签: paperjs
您只能在 PointText 项目的边界上执行 hitTest。
var text = new PointText({
point: [50, 50],
content: 'The contents of the point text',
fillColor: 'black',
fontSize: 25,
selected: true
});
function onMouseDown(event){
text.res = project.hitTest(event.point, {
type: 'PointText',
bounds:true
}
);
console.log(text.res.name);
}
然后解析结果以确保它是一个角,并在下一个onMouseUp 上以对角为中心执行缩放。
【讨论】:
text.res 应该是完整的hitResult 对象,如果你点击了边界控件。如果不是,它将返回 null。您所需要的只是在可能性之间切换的角落的名称。然后你可以通过event.delta相对于文本大小来缩放对象。