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 相关文章推荐
使用Grunt.js管理你项目的应用说明
Apr 24 Javascript
JavaScript中操作字符串之localeCompare()方法的使用
Jun 06 Javascript
Ajax中解析Json的两种方法对比分析
Jun 25 Javascript
深入解读JavaScript中的Iterator和for-of循环
Jul 28 Javascript
微信小程序 scroll-view组件实现列表页实例代码
Dec 14 Javascript
JavaScript实现简易的天数计算器实例【附demo源码下载】
Jan 18 Javascript
node.JS md5加密中文与php结果不一致的解决方法
May 05 Javascript
浅谈PDF.js使用心得
Jun 07 Javascript
vue实现修改图片后实时更新
Nov 14 Javascript
Jquery让form表单异步提交代码实现
Nov 14 jQuery
Vue 中 template 有且只能一个 root的原因解析(源码分析)
Apr 11 Javascript
js用正则表达式筛选年月日的实例方法
Jan 04 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安装xdebug/php安装pear/phpunit详解步骤(图)
2013/12/22 PHP
ASP SQL防注入的方法
2008/12/25 Javascript
JQuery 动画卷页 返回顶部 动画特效(兼容Chrome)
2010/02/15 Javascript
javascript学习笔记(十七) 检测浏览器插件代码
2012/06/20 Javascript
UI Events 用户界面事件
2012/06/27 Javascript
IE下window.onresize 多次调用与死循环bug处理方法介绍
2013/11/12 Javascript
网页广告中JS代码的信息监听示例
2014/04/02 Javascript
JS中showModalDialog关闭子窗口刷新主窗口用法详解
2017/03/25 Javascript
vue组件生命周期详解
2017/11/07 Javascript
AngularJs 禁止模板缓存的方法
2017/11/28 Javascript
详解js访问对象的属性和方法
2018/10/25 Javascript
微信小程序自定义可滑动顶部TabBar选项卡实现页面切换功能示例
2019/05/14 Javascript
vue实现图片按比例缩放问题操作
2020/08/11 Javascript
Vue + Element-ui的下拉框el-select获取额外参数详解
2020/08/14 Javascript
[15:07]lgd_OG_m2_BP
2019/09/10 DOTA
[38:38]完美世界DOTA2联赛PWL S3 access vs Rebirth 第二场 12.17
2020/12/18 DOTA
[01:14:41]DOTA2-DPC中国联赛定级赛 iG vs Magma BO3第一场 1月8日
2021/03/11 DOTA
解读Django框架中的低层次缓存API
2015/07/24 Python
详解python脚本自动生成需要文件实例代码
2017/02/04 Python
Python简单实现自动删除目录下空文件夹的方法
2017/08/29 Python
详解Python 数据库的Connection、Cursor两大对象
2018/06/25 Python
Python利用sqlacodegen自动生成ORM实体类示例
2019/06/04 Python
python 工具 字符串转numpy浮点数组的实现
2020/03/14 Python
python高阶函数map()和reduce()实例解析
2020/03/16 Python
Python 实现自动登录+点击+滑动验证功能
2020/06/10 Python
详解Python 中的容器 collections
2020/08/17 Python
canvas绘制圆角头像的实现方法
2019/01/17 HTML / CSS
瀑布模型都有哪些优缺点
2014/06/23 面试题
代理人委托书
2014/08/01 职场文书
美德少年事迹材料1000字
2014/08/21 职场文书
员工工作自我评价
2014/09/26 职场文书
2014院党委领导班子及其成员群众路线对照检查材料思想汇报
2014/10/04 职场文书
群众路线个人自我剖析材料
2014/10/07 职场文书
Mysql8.0递归查询的简单用法示例
2021/08/04 MySQL
MySQL令人大跌眼镜的隐式转换
2021/08/23 MySQL
【海涛dota解说】DCG联赛第一周 LGD VS DH
2022/04/01 DOTA