当前位置:网站首页>Tissu. JS définit dynamiquement la taille de la police
Tissu. JS définit dynamiquement la taille de la police
2022-06-11 09:11:00 【InfoQ】
Introduction à cet article
Fabric.jsITextFabric.js
Analyse
- La taille de la police ne peut être modifiée tant que le texte n'est pas sélectionné
- Modifier la taille globale de la police
- Modifier la taille de police des mots sélectionnés,Ne pas modifier ceux qui ne sont pas sélectionnés
- Obtenir le texte sélectionné:
canvas.getActiveObject().
- Si seule une partie du texte est sélectionnée:
- Je détermine si seule une partie du texte est sélectionnée en éditant l'état:
isEditing.
- Modifier le style du texte sélectionné:
setSelectionStyles({...}).
- Modifier
fontSizePropriétés.
- En cas de modification du texte intégral,Et si certains caractères sont définis par eux - mêmes
fontSize,Si le texte lui - même est définifontSize,Le poids du texte intégral n'est pas aussi élevé que celui du texte autonome.
Codage
<input type="range" min="5" max="150" value="40" id="size" onchange="changeSize(value)">
<canvas id="c" width="300" height="300" style="border: 1px solid #ccc"></canvas>
<script src="https://cdn.bootcdn.net/ajax/libs/fabric.js/521/fabric.js"></script>
<script>
const canvas = new fabric.Canvas('c')
const iText = new fabric.IText('hello world')
canvas.add(iText)
function changeSize(value) {
let activeTxt = canvas.getActiveObject()
if (!activeTxt) return
if (activeTxt.isEditing) {
// Modifier l'état
activeTxt.setSelectionStyles({ 'fontSize': value})
} else {
activeTxt.fontSize = value
let s = activeTxt.styles
// Traverser les lignes et les colonnes
for(let i in s) {
for (let j in s[i]) {
s[i][j].fontSize = value // Définir la taille de la police pour chaque mot
}
}
activeTxt.dirty = true
}
canvas.renderAll()
}
</script>
isEditingfor(let i in s) {
for (let j in s[i]) {
s[i][j].fontSize = value
}
}
ijsetSelectionStylesfontSizeEntrepôt de code
边栏推荐
- Why is it difficult to implement informatization in manufacturing industry?
- What are the types of garment ERP system in the market?
- Do you know these advantages of ERP system?
- 206. reverse linked list
- OpenCV OAK相机对比及介绍
- 876. 链表的中间结点
- 1854. 人口最多的年份
- Importance of implementation of clothing ERP in the project
- Install jupyter in the specified environment
- 682. 棒球比赛
猜你喜欢

Machine learning notes - in depth Learning Skills Checklist

实现边充边OTG的PD芯片GA670-10

机器学习笔记 - 深度学习技巧备忘清单

Intelligent control theory question bank

Exclusive interview with PMC member Liu Yu: female leadership in Apache pulsar community

Pytorch installation for getting started with deep learning

CUMT learning diary - theoretical analysis of uCOSII - Textbook of Renzhe Edition

SAP OData development tutorial

Type-C扩展坞自适应供电专利维权案例

CUMT学习日记——ucosII理论解析—任哲版教材
随机推荐
openstack详解(二十三)——Neutron其他配置、数据库初始化与服务启动
2095. 删除链表的中间节点
When the enterprise makes a decision, which part should lead the ERP project?
MySQL啟動報錯“Bind on TCP/IP port: Address already in use”
机器学习笔记 - 卷积神经网络备忘清单
Exclusive interview with PMC member Liu Yu: female leadership in Apache pulsar community
What problems can ERP system help enterprises deal with?
[image processing] spatial domain image enhancement
876. 链表的中间结点
682. baseball game
ERP体系能帮忙企业处理哪些难题?
C language printing diamond
报错[error] input tesnor exceeds available data range [NeuralNetwork(3)] [error] Input tensor ‘0‘ (0)
Talk about how to customize data desensitization
实现边充边OTG的PD芯片GA670-10
kubelet Error getting node 问题求助
报错RuntimeError: BlobReader error: The version of imported blob doesn‘t match graph_transformer
山东大学增强现实实验四
2130. 链表最大孪生和
ERP体系的这些优势,你知道吗?