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引用对象的方法
Jan 11 Javascript
用javascript实现的图片马赛克后显示并切换加文字功能
Apr 21 Javascript
JS对象转换为Jquery对象示例
Jan 26 Javascript
javascript操作excel生成报表全攻略
May 04 Javascript
JS函数修改html的元素内容,及修改属性内容的方法
Oct 28 Javascript
jQuery用户头像裁剪插件cropbox.js使用详解
Jun 07 jQuery
AngularJS  ng-repeat遍历输出的用法
Jun 19 Javascript
JavaScript+Canvas实现彩色图片转换成黑白图片的方法分析
Jul 31 Javascript
详解如何使用router-link对象方式传递参数?
May 02 Javascript
axios封装,使用拦截器统一处理接口,超详细的教程(推荐)
May 02 Javascript
js实现图片3D轮播效果
Sep 21 Javascript
JS+css3实现幻灯片轮播图
Aug 14 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页面缓存方法小结
2015/01/10 PHP
php格式化金额函数分享
2015/02/02 PHP
php实现SAE上使用storage上传与下载文件的方法
2015/06/29 PHP
用JS操作FRAME中的IFRAME及其内容的实现代码
2008/07/26 Javascript
小型js框架veryide.librar源代码
2009/03/05 Javascript
通过百度地图获取公交线路的站点坐标的js代码
2012/05/11 Javascript
js中定义一个变量并判断其是否为空的方法
2014/05/13 Javascript
javascript动态判断html元素并执行不同的操作
2014/06/16 Javascript
浅谈JavaScript的Polymer框架中的事件绑定
2015/07/29 Javascript
JavaScript数据操作_浅谈原始值和引用值的操作本质
2016/08/23 Javascript
JS实现超简单的汉字转拼音功能示例
2016/12/22 Javascript
BootStrap3中模态对话框的使用
2017/01/06 Javascript
详解vue-cli + webpack 多页面实例应用
2017/04/25 Javascript
JavaScript利用fetch实现异步请求的方法实例
2017/07/26 Javascript
使用Node.js实现ORM的一种思路详解(图文)
2017/10/24 Javascript
微信小程序实现跑马灯效果完整代码(附效果图)
2018/05/30 Javascript
微信小程序开发实现消息推送
2020/11/18 Javascript
vue3使用vue-count-to组件的实现
2020/12/25 Vue.js
[01:38:19]夜魇凡尔赛茶话会 第五期
2021/03/11 DOTA
使用Python的Flask框架实现视频的流媒体传输
2015/03/31 Python
浅谈Python中列表生成式和生成器的区别
2015/08/03 Python
python django事务transaction源码分析详解
2017/03/17 Python
python3如何将docx转换成pdf文件
2018/03/23 Python
Python学习笔记之pandas索引列、过滤、分组、求和功能示例
2019/06/03 Python
python实现文件的备份流程详解
2019/06/18 Python
pyqt5 删除layout中的所有widget方法
2019/06/25 Python
Django框架创建mysql连接与使用示例
2019/07/29 Python
Python2.x与3​​.x版本有哪些区别
2020/07/09 Python
python实现人性化显示金额数字实例详解
2020/09/25 Python
详解Python之Scrapy爬虫教程NBA球员数据存放到Mysql数据库
2021/01/24 Python
美国最顶级的精品店之一:Hampden Clothing
2016/12/22 全球购物
新西兰最大的天然保健及护肤品网站:HealthPost(直邮中国)
2021/02/13 全球购物
经贸日语专业个人求职信
2013/12/13 职场文书
优秀求职信范文分享
2014/01/26 职场文书
中秋节晚会开场白
2015/05/29 职场文书
2016年大学生暑期社会实践方案
2015/11/26 职场文书