Pixi绘制各种图形

简介: 这篇文章作为Pixi.js入门教程的一部分,详细介绍了如何使用Pixi.js绘制各种基本图形,如矩形、圆角矩形、圆形和椭圆,并提供了具体的实现代码。

最近为了制作调度系统的地图绘制,不得已学了pixi制作2D的地图,之前用threejs,发现在动态绘制线的时候效果很不好,而且很耗费性能,2D确实有着3D不可替代的地方。第一节,通过pixi绘制各种不同的图形。

下面先演示绘制一个长方形的例子:

//新建一个PIXI的Graphics绘图对象
const graphics = new PIXI.Graphics()
// 开始绘图设置填充颜色,两个参数分别为(颜色, 不透明度)
graphics.beginFill(0xffd900, 1)
// 创建图形,四个参数分别是x,y,widht,height,也就是从x,y坐标开始绘制一个宽200,高100的长方形
graphics.drawRect(50, 50, 200, 100)
// 结束绘制操作
graphics.endFill()
//将绘制的图形添加到舞台stage中
app.stage.addChild(graphics);

Pixi绘制各种图形_圆角

如此这般,便在画布中有了一个黄色的长方形,同时还可以将长方形设置为圆角,显得圆润一些:只需要将代码中的graphics.drawRect(50, 50, 200, 100)替换为graphics.drawRoundedRect(50, 50, 200, 100,5);新替换的方法最后一个值就是圆角的半径,类似div中的radius值,和radius一样,你如果长方形改为正方形,并把圆角的半径设置为边的一半,你就会得到一个圆形。

// 创建图形类
const graphics = new PIXI.Graphics()
// 设置填充颜色 beginFill(颜色, 不透明度)
graphics.beginFill(0xffd900, 1)
//从,50,50的坐标绘制宽和高都为100的矩形,并设置圆角半径为50
graphics.drawRoundedRect(50, 50, 100, 100,50)
// 绘制操作
graphics.endFill()
app.stage.addChild(graphics);

Pixi绘制各种图形_圆角_02

当然这是通过骚操作的方式实现的,正儿八经的绘制方法如下,绘制好的效果和上图一模一样,唯一的区别就是长方形的x和y是开始绘制的点,圆的x和y是圆心。

// 创建图形类
const graphics = new PIXI.Graphics()
// 设置填充颜色 beginFill(颜色, 不透明度)
graphics.beginFill(0xffd900, 1)
//从,1001,00的坐标绘制半径为50的圆
graphics.drawCircle(100, 100, 50)
// 绘制操作
graphics.endFill()
app.stage.addChild(graphics);

但是这两种方式都只能绘制出圆或者圆角的方形,没办法绘制出椭圆,因为椭圆又是一个新的绘制方法:graphics.drawEllipse,下面在(100,100)的位置绘制一个宽100,高50的椭圆。

// 创建图形类
const graphics = new PIXI.Graphics()
// 设置填充颜色 beginFill(颜色, 不透明度)
graphics.beginFill(0xffd900, 1)
//从,100,100的坐标绘制宽100高50的椭圆
graphics.drawEllipse(100, 100, 100, 50)
// 绘制操作
graphics.endFill()
app.stage.addChild(graphics);

Pixi绘制各种图形_圆角_03

常规图形就这些了,下一章再介绍其他花里花哨的图形绘制方法。

相关文章
|
Oracle 关系型数据库 数据库
0丢失之谜:解决Oracle中0开头小数被截断的问题
0丢失之谜:解决Oracle中0开头小数被截断的问题
2059 0
|
数据安全/隐私保护 iOS开发
Apple Music中的DRM保护
苹果音乐(Apple Music)是一种流媒体音乐服务,为用户提供了广泛的音乐内容。然而,为了保护音乐版权,Apple Music使用数字版权管理(DRM)技术对其音乐进行保护。DRM保护是一种加密技术,旨在防止用户未经授权地复制、传播或修改受版权保护的音乐。
3217 1
|
前端开发 安全 JavaScript
Flask 中的跨域难题:定义、影响与解决方案深度解析
Flask 中的跨域难题:定义、影响与解决方案深度解析
666 1
|
Web App开发 索引
正则表达式匹配域名、网址、url
DNS规定,域名中的标号都由英文字母和数字组成,每一个标号不超过63个字符,也不区分大小写字母。标号中除连字符(-)外不能使用其他的标点符号。级别最低的域名写在最左边,而级别最高的域名写在最右边。由多个标号组成的完整域名总共不超过255个字符。
32107 0
|
人工智能 自然语言处理 机器人
盘点集成DeepSeek大模型的智能语音机器人,看看哪款更适合你
对话式AI将降低高达25%的客服座席离职率,集成DeepSeek等大模型的智能语音机器人正成企业标配。其核心是实现7x24小时高效服务、优化成本并提供人性化交互。选型需聚焦AI模型能力、业务场景匹配度与数据安全。合力亿捷、阿里云等是市场主流选择,选对智能语音机器人是企业提升沟通效率、构筑核心竞争力的战略投资。
591 0
|
存储 文件存储 Windows
小白尖叫!DeepSeek安装竟偷占C盘?这样做路径配置 直接根治存储焦虑
惊! 完蛋了! DeepSeek占满了我的C盘~~~~ DeepSeek让我C盘爆炸~~~再见了,DeepSeek
小白尖叫!DeepSeek安装竟偷占C盘?这样做路径配置 直接根治存储焦虑
|
人工智能 编解码
CogVideoX-Flash:智谱首个免费AI视频生成模型,支持文生视频、图生视频,分辨率最高可达4K
CogVideoX-Flash 是智谱推出的首个免费AI视频生成模型,支持文生视频、图生视频,最高支持4K分辨率,广泛应用于内容创作、教育、广告等领域。
2158 5
CogVideoX-Flash:智谱首个免费AI视频生成模型,支持文生视频、图生视频,分辨率最高可达4K
|
JavaScript
Vue3抽屉(Drawer)
这是一个基于Vue的抽屉组件(Drawer),提供了丰富的自定义选项,如宽度、高度、标题、关闭按钮等,并支持顶部、右侧、底部和左侧四种方向。
1096 0
Vue3抽屉(Drawer)
|
数据可视化
Echarts高级进阶教程(3):appendData大数据量分片加载数据增量渲染和常规思路异步加载数据的对比,对折线图是无效的
Echarts高级进阶教程(3):appendData大数据量分片加载数据增量渲染和常规思路异步加载数据的对比,对折线图是无效的
1322 0
|
JavaScript 数据可视化
JS如何优雅的实现模块自动滚动展示
【8月更文挑战第22天】JS如何优雅的实现模块自动滚动展示
574 1
JS如何优雅的实现模块自动滚动展示

热门文章

最新文章