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 相关文章推荐
jquery png 透明解决方案(推荐)
Aug 21 Javascript
JavaScript对象和字串之间的转换实例探讨
Apr 21 Javascript
javascript与jquery中跳出循环的区别总结
Nov 04 Javascript
JQuery中绑定事件(bind())和移除事件(unbind())
Feb 27 Javascript
基于jquery实现在线选座订座之影院篇
Aug 24 Javascript
JavaScript判断数字是否为质数的方法汇总
Jun 02 Javascript
使用JS正则表达式 替换括号,尖括号等
Nov 29 Javascript
微信小程序实现的涂鸦功能示例【附源码下载】
Jan 12 Javascript
react实现点击选中的li高亮的示例代码
May 24 Javascript
vue 自定义组件的写法与用法详解
Mar 04 Javascript
JavaScript对象访问器Getter及Setter原理解析
Dec 08 Javascript
Vue接口封装的完整步骤记录
May 14 Vue.js
基于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中的加密功能
2006/10/09 PHP
ThinkPHP中U方法的使用浅析
2014/06/13 PHP
ecshop后台编辑器替换成ueditor编辑器
2015/03/03 PHP
php使用number_format函数截取小数的方法分析
2016/05/27 PHP
JavaScript可否多线程? 深入理解JavaScript定时机制
2012/05/23 Javascript
简介JavaScript中的getSeconds()方法的使用
2015/06/10 Javascript
JavaScript实现快速排序的方法
2015/07/31 Javascript
JS实现带有抽屉效果的产品类网站多级导航菜单代码
2015/09/15 Javascript
jquery validation验证表单插件
2017/01/07 Javascript
从零学习node.js之express入门(六)
2017/02/25 Javascript
angular.JS实现网页禁用调试、复制和剪切
2017/03/31 Javascript
JavaScript实现实时更新系统时间的实例代码
2017/04/04 Javascript
js实现按座位号抽奖
2017/04/05 Javascript
React实现全局组件的Toast轻提示效果
2018/09/21 Javascript
微信小程序 slot踩坑的解决
2019/04/01 Javascript
jquery 插件重新绑定的处理方法分析
2019/11/23 jQuery
JS实现盒子拖拽效果
2020/02/06 Javascript
webpack 如何同时输出压缩和未压缩的文件的实现步骤
2020/06/05 Javascript
[00:27]DOTA2战队VP、Secret贺新春
2018/02/11 DOTA
Python实现Const详解
2015/01/27 Python
Python中最常用的操作列表的几种方法归纳
2015/04/24 Python
python同时给两个收件人发送邮件的方法
2015/04/30 Python
Python数据类型中的“冒号“[::]——分片与步长操作示例
2018/01/24 Python
Python imutils 填充图片周边为黑色的实现
2020/01/19 Python
Pycharm中配置远程Docker运行环境的教程图解
2020/06/11 Python
Python爬虫设置ip代理过程解析
2020/07/20 Python
Biblibili视频投稿接口分析并以Python实现自动投稿功能
2021/02/05 Python
CSS3常用的几种颜色渐变模式总结
2016/11/18 HTML / CSS
上海方立数码笔试题
2013/10/18 面试题
Java面试题汇总
2015/12/06 面试题
党员教师自我剖析材料
2014/09/29 职场文书
教师党的群众路线教育实践活动个人整改措施
2014/11/04 职场文书
库房管理员岗位职责
2015/02/12 职场文书
医院保洁员管理制度
2015/08/05 职场文书
MySQL系列之一 MariaDB-server安装
2021/07/02 MySQL
解析MySQL索引的作用
2022/03/03 MySQL