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 Autocomplete 结合asp.net使用要点
Oct 29 Javascript
体验js中splice()的强大(插入、删除或替换数组的元素)
Jan 16 Javascript
Ajax同步与异步传输的示例代码
Nov 21 Javascript
简单的JavaScript互斥锁分享
Feb 02 Javascript
JS使用onerror捕获异常示例
Aug 03 Javascript
基于Javascript实现文件实时加载进度的方法
Oct 12 Javascript
jQuery模拟下拉框选择对应菜单的内容
Mar 07 Javascript
详解Node.js项目APM监控之New Relic
May 12 Javascript
jQuery完成表单验证的实例代码(纯代码)
Sep 30 jQuery
浅谈vue-router2路由参数注意的问题
Nov 08 Javascript
利用Promise自定义一个GET请求的函数示例代码
Mar 20 Javascript
express启用https使用小记
May 21 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文件上传判断file是否己选择上传文件的方法
2014/11/10 PHP
PHP实现合并discuz用户
2015/08/05 PHP
针对多用户实现头像上传功能PHP代码 适用于登陆页面制作
2016/08/17 PHP
php判断是否为ajax请求的方法
2016/11/29 PHP
解析PHP之提取多维数组指定列的方法
2017/01/03 PHP
Jquery 扩展方法
2010/05/06 Javascript
用js实现输入提示(自动完成)的实例代码
2013/06/14 Javascript
jQuery中ajax和post处理json的不同示例对比
2014/11/02 Javascript
Vue.js基础知识汇总
2016/04/27 Javascript
浅谈JavaScript中小数和大整数的精度丢失
2016/05/31 Javascript
JQuery遍历元素的父辈和祖先的方法
2016/09/18 Javascript
JavaScript原生编写《飞机大战坦克》游戏完整实例
2017/01/04 Javascript
Angular2学习教程之组件中的DOM操作详解
2017/05/28 Javascript
关于JavaScript中forEach和each用法浅析
2017/07/27 Javascript
JavaScript数据结构之双向链表定义与使用方法示例
2017/10/27 Javascript
基于vue2.0实现简单轮播图
2017/11/27 Javascript
Element Tooltip 文字提示的使用示例
2020/07/26 Javascript
两个使用Python脚本操作文件的小示例分享
2015/08/27 Python
Python爬虫DOTA排行榜爬取实例(分享)
2017/06/13 Python
Python编程实现两个文件夹里文件的对比功能示例【包含内容的对比】
2017/06/20 Python
python实现读取excel写入mysql的小工具详解
2017/11/20 Python
对python append 与浅拷贝的实例讲解
2018/05/04 Python
python多线程使用方法实例详解
2019/12/30 Python
用Python生成HTML表格的方法示例
2020/03/06 Python
python实现邮件循环自动发件功能
2020/09/11 Python
HTML5 video标签(播放器)学习笔记(二):播放控制
2015/04/24 HTML / CSS
Html5页面上如何禁止手机虚拟键盘弹出
2020/03/19 HTML / CSS
Clarks英国官方网站:全球领军鞋履品牌
2016/11/26 全球购物
Desigual德国官网:在线购买原创服装
2018/03/27 全球购物
澳大利亚当地最大的时装生产商:Cue
2018/08/06 全球购物
《郑和远航》教学反思
2014/04/16 职场文书
老公出轨后的保证书
2015/05/08 职场文书
XX部保密工作制度范本
2019/08/27 职场文书
python基础之类方法和静态方法
2021/10/24 Python
详解Golang如何优雅的终止一个服务
2022/03/21 Golang
python的html标准库
2022/04/29 Python