В paperjs я не могу найти способ изменить размер текстового элемента pointText. Я хотел бы, чтобы мои пользователи могли щелкнуть, чтобы выбрать текстовый элемент, а затем, когда появятся ручки, они смогут перетащить, чтобы изменить размер текста (сохраняя соотношение сторон). Нигде в документах это ясно или выполнимо. У меня такое чувство, что я что-то упускаю или это невозможно.
paperjs PointText щелкните и перетащите маркеры для масштабирования и изменения размера
Ответы (1)
Вы можете сделать hitTest
только на границах PointText
элементов.
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
.
person
Alex Blackwood
schedule
25.11.2013
У меня проблемы, результаты, которые я получаю, - это связанные имена: Можете ли вы показать мне, как я могу это сделать с помощью функции mouseUp?
- person Justin; 26.11.2013
В приведенном выше случае
text.res
должен быть полным объектом hitResult
, если вы нажмете на элемент управления границами. Если нет, он вернет ноль. Все, что вам нужно, это название угла, чтобы переключаться между возможностями. Затем вы можете масштабировать объект на event.delta
относительно размера текста.
- person Alex Blackwood; 26.11.2013
Вот как можно обнаружить текстовый элемент при нажатии, это не имеет ничего общего с масштабированием текста.
- person kamp; 06.09.2018