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 相关文章推荐
DWR Ext 加载数据
Mar 22 Javascript
文本框中,回车键触发事件的js代码[多浏览器兼容]
Jun 07 Javascript
firefox下frameset取不到值的解决方法
Sep 06 Javascript
JavaScript验证电子邮箱的函数
Aug 22 Javascript
JavaScript中数组成员的添加、删除介绍
Dec 30 Javascript
原生JavaScript实现异步多文件上传
Dec 02 Javascript
Bootstrap如何创建表单
Oct 21 Javascript
原生JS实现的简单小钟表功能示例
Aug 30 Javascript
Bootstrap模态对话框用法简单示例
Aug 31 Javascript
基于vue通用表单解决方案的思考与分析
Mar 16 Javascript
基于vue-cli3创建libs库的实现方法
Dec 04 Javascript
jquery实现垂直手风琴菜单
Mar 04 jQuery
基于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网页游戏学习之Xnova(ogame)源码解读(十)
2014/06/24 PHP
载入进度条 效果
2006/07/08 Javascript
javascript检查日期格式的函数[比较全]
2008/10/17 Javascript
javascript 日期时间 转换的方法
2013/02/21 Javascript
兼容ie、firefox的图片自动缩放的css跟js代码分享
2013/08/12 Javascript
jquery实现带渐变淡入淡出并向右依次展开的多级菜单效果实例
2015/08/22 Javascript
jQuery控制li上下循环滚动插件用法实例(附demo源码下载)
2016/05/28 Javascript
Bootstrap+jfinal实现省市级联下拉菜单
2016/05/30 Javascript
js原生之焦点图转换加定时器实例
2016/12/12 Javascript
解决Angular.Js与Django标签冲突的方案
2016/12/20 Javascript
html中通过JS获取JSON数据并加载的方法
2017/11/30 Javascript
axios发送post请求springMVC接收不到参数的解决方法
2018/03/05 Javascript
Vue异步组件处理路由组件加载状态的解决方案
2018/09/07 Javascript
小程序从手动埋点到自动埋点的实现方法
2019/01/24 Javascript
JavaScript实现与web通信的方法详解
2020/08/07 Javascript
三剑客:offset、client和scroll还傻傻分不清?
2020/12/04 Javascript
在Python中操作字典之clear()方法的使用
2015/05/21 Python
python自带的http模块详解
2016/11/06 Python
Python之str操作方法(详解)
2017/06/19 Python
Python多进程库multiprocessing中进程池Pool类的使用详解
2017/11/24 Python
python实现拓扑排序的基本教程
2018/03/11 Python
利用Pandas和Numpy按时间戳将数据以Groupby方式分组
2019/07/22 Python
python绘制雪景图
2019/12/16 Python
关于python 的legend图例,参数使用说明
2020/04/17 Python
获取python运行输出的数据并解析存为dataFrame实例
2020/07/07 Python
记一次Django响应超慢的解决过程
2020/09/17 Python
美国全球旅游运营商:Pacific Holidays
2018/06/18 全球购物
Chemist Warehouse中文网:澳洲连锁大药房
2021/02/05 全球购物
荷叶圆圆教学反思
2014/02/01 职场文书
美容院营销方案
2014/03/05 职场文书
美术指导助理求职信
2014/04/20 职场文书
双拥工作宣传标语
2014/06/26 职场文书
python实现图片批量压缩
2021/04/24 Python
pdf论文中python画的图Type 3 fonts字体不兼容的解决方案
2021/04/24 Python
Css预编语言及区别详解
2021/04/25 HTML / CSS
插件导致ECharts被全量引入的坑示例解析
2022/09/23 Javascript