p5.js入门教程之图片加载


Posted in Javascript onMarch 20, 2018

一、preload()函数与图片上传

preload()函数是一个特殊的函数,它同setup()类似,只在程序开始时运行一次,但顺序在setup()之前。

一般我们会将媒体文件(图片、声音)加载的语句放在preload()中,因为preload()有一个特性就是不加载完毕,程序就不会开始,保证了程序运行时不会出错。

在加载图片之前,我们需要先将图片文件上传。

方法是:

①点击编辑器左上角的小三角展开文件目录。

p5.js入门教程之图片加载

②点击文件目录右上角小三角,展开菜单后Add File。

p5.js入门教程之图片加载

③可以直接将图片文件拖到框里,会自动上传,传完后关闭即可,jpg和png格式均支持。

p5.js入门教程之图片加载

二、加载图片

接着,添加代码如下:

var img; 
function preload(){ 
 //加载图片文件 
 img=loadImage("HearthStone.png"); 
} 
 
function setup() {  
 createCanvas(400, 400); 
}  
 
function draw() {  
 background(220); 
 //坐标原点设为图片中心 
 imageMode(CENTER); 
 //绘制图片 
 image(img,200,200); 
}

其中有两个函数:

imageMode():设置图片中心,常用的有CENTER、CORNER,CENTER为中心,CORNER为左上角

image():绘制图片,image("图片地址",x,y)

效果图:

p5.js入门教程之图片加载

三、图片染色与拉伸

p5.js还提供了一些方便的功能,如染色与拉伸,代码如下:

var img; 
function preload(){ 
 //加载图片文件 
 img=loadImage("HearthStone.png"); 
} 
 
function setup() {  
 createCanvas(400, 400); 
}  
 
function draw() {  
 background(220); 
 //坐标原点设为图片中心 
 imageMode(CENTER); 
 //图片染色 
 tint(0,255,255); 
 //绘制图片,后两个参数调整长宽 
 image(img,200,200,150,150); 
}

tint():图片染色,括号内填入颜色,格式同fill()

image():第四、五个参数为图片长与宽,若不填的话则使用原图片长宽

效果图:

p5.js入门教程之图片加载

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
JavaScript 模仿vbs中的 DateAdd() 函数的代码
Aug 13 Javascript
js 动态文字滚动的例子
Jan 17 Javascript
5个JavaScript经典面试题
Oct 13 Javascript
jQuery中scrollLeft()方法用法实例
Jan 16 Javascript
如何解决ligerUI布局时Center中的Tab高度大小
Nov 24 Javascript
vue分类筛选filter方法简单实例
Mar 30 Javascript
Vue.js中关于侦听器(watch)的高级用法示例
May 02 Javascript
vue中动态设置meta标签和title标签的方法
Jul 11 Javascript
详解微信小程序-扫一扫 wx.scanCode() 扫码大变身
Apr 30 Javascript
vue实现拖拽的简单案例 不超出可视区域
Jul 25 Javascript
JavaScript中使用Spread运算符的八种方法总结
Jun 18 Javascript
uniapp引入支付宝原生扫码插件步骤详解
Jul 23 Javascript
基于webpack.config.js 参数详解
Mar 20 #Javascript
JavaScript生成指定范围的时间列表
Mar 19 #Javascript
详解React项目的服务端渲染改造(koa2+webpack3.11)
Mar 19 #Javascript
angularjs 缓存的使用详解
Mar 19 #Javascript
javascript原生封装一个淡入淡出效果的函数测试实例代码
Mar 19 #Javascript
react-native-video实现视频全屏播放的方法
Mar 19 #Javascript
vue实现树形菜单效果
Mar 19 #Javascript
You might like
神盾加密解密教程(一)PHP变量可用字符
2014/05/28 PHP
教你php如何实现验证码
2016/01/20 PHP
ThinkPHP5.0框架结合Swoole开发实现WebSocket在线聊天案例详解
2019/04/02 PHP
Flash对联广告的关闭按钮讨论
2007/01/30 Javascript
翻译整理的jQuery使用查询手册
2007/03/07 Javascript
js中判断控件是否存在
2010/08/25 Javascript
jQuery中click事件的定义和用法
2014/12/20 Javascript
使用JS轻松实现ionic调用键盘搜索功能(超实用)
2016/09/06 Javascript
详解获取jq ul第一个li定位的四种解决方案
2016/11/23 Javascript
Vue 过渡(动画)transition组件案例详解
2017/01/22 Javascript
bootstrap日期控件问题(双日期、清空等问题解决)
2017/04/19 Javascript
微信小程序-滚动消息通知的实例代码
2017/08/03 Javascript
vue监听input标签的value值方法
2018/08/27 Javascript
vue slots 组件的组合/分发实例
2018/09/06 Javascript
JS面向对象之多选框实现
2020/01/17 Javascript
详解Vue.js 响应接口
2020/07/04 Javascript
mustache.js实现首页元件动态渲染的示例代码
2020/12/28 Javascript
[02:35]DOTA2超级联赛专访XB 难忘一年九冠称王
2013/06/20 DOTA
python实现简单温度转换的方法
2015/03/13 Python
Python标准库defaultdict模块使用示例
2015/04/28 Python
PyQt5实现下载进度条效果
2018/04/19 Python
python实现爬取图书封面
2018/07/05 Python
Python wxpython模块响应鼠标拖动事件操作示例
2018/08/23 Python
Python操作远程服务器 paramiko模块详细介绍
2019/08/07 Python
python3常用的数据清洗方法(小结)
2019/10/31 Python
HTML5 微格式和相关的属性名称
2010/02/10 HTML / CSS
澳大利亚旅游网站:Lastminute
2017/08/07 全球购物
Myprotein中国网站:欧洲畅销运动营养品牌
2021/02/11 全球购物
What's the difference between Debug and Trace class? (Debug类与Trace类有什么区别)
2013/09/10 面试题
党的群众路线教育实践活动个人整改措施
2014/10/27 职场文书
2014年招商工作总结
2014/11/22 职场文书
初中生毕业评语
2014/12/29 职场文书
表扬稿格式范文
2015/01/16 职场文书
教师考核鉴定意见
2015/06/05 职场文书
SQL Server中使用判断语句(IF ELSE/CASE WHEN )案例
2021/07/07 SQL Server
SpringBoot 集成短信和邮件 以阿里云短信服务为例
2022/04/22 Java/Android