媒体

如何将文件导入 Processing 中

在 Processing 中,程序是通过应用 data 文件夹中的文件来显示的,这个文件夹可以通过菜单栏中的 Sketch>show sketch folder(command+K),来显示,可以通过两个办法添加文件:

  1. 打卡data文件夹,向其中添加文件
  2. 直接将文件拖拽到对话框的范围内

媒体的类型和导入的方式

图像

一张图像绘制到屏幕上需要四个步骤:

  1. 首先将图像添加到 data 文件夹中
  2. 然后创建 PImage 变量来存储图像
  3. 使用 loadimage()将图像夹在到变量,
  4. 最后用 image()函数加载图像

代码如下:
PImage img

void setup(){
size(480,120);
img=loadImage("lunar.jpg");
}

void draw(){
image(img,0,0,480,120);
}
image() 函数有五个参数,第一个参数是图像变量名,第二个和第三个用于确定图像的位置,第四个和第五个用于确定图像的长和宽。

Processing 支持三种类型的图像文件,它们分别是 png,gif 和 jpeg 格式。对于 png 和 gif 而言,它们都具有 alpha 通道,png 不仅仅能够将更多的颜色来设置透明度,而且透明度的通道深度为 8,而gif 的通道深度为1, png 的图像更加有层次感。

字体

加载字体的操作有6个步骤:

  1. 将字体添加到 data 文件夹中
  2. 创建一个 PFont 变量用于储存字体。
  3. 使用 createFont() 函数将字体读取给变量。
  4. 使用 textFont() 函数设置为当前字体。
  5. 用 text() 函数来进行显示文字。

代码如下:
Pfont font;

void setup(){
soze(480,120);
font = createFont(".....ttf",32);
textFont(font);
}

void draw(){
background(102);
textSize(32);
text("....",25,69,240,100);
}

可以通过 textSize() 函数来设置 text 的尺寸,text() 函数用于显示相应的内容,其中的第一个参数是显示的字符串,第二个和第三个用于控制其显示的位置,第四个和第五个可将文字显示在一个特定大小的文本框内。

这里需要注意的是,第三个和第四个参数是通过设置文本的基线左下角的位置来设置其位置的。

图形

用于将一个图形显示在屏幕上,需要四个步骤:

  1. 首先将 SVG 格式的图形文件储存在 data 文件夹中
  2. 创建一个 PShape 格式的变量
  3. 然后通过 loadShape() 函数将这个图形储存在这个变量中
  4. 最后,通过 shape() 函数来显示在屏幕上

代码如下:
PShape network;

void setup(){
size(480,120);
network=loadShape("...");
}

void draw(){
background(0);
shape(network,30,10,280,280);
}

这里的 shape() 函数第一个参数为形状的变量名,第二个和第三个参数为相应的位置,第四个和第五个参数用于设置相应的形状的大小。

createShape() 函数

同时,Processing 也支持将在 Processing 中所画的图形设置为一个 PShape 类型的变量。
代码为:
PShape dino;
void setup(){
dino=createShape();
然后后面是这个形状的参数
}

void shape(){
shape(dino,0,0,280,120);
}

Getting started with Processing 第七章总结的更多相关文章

  1. 《Entity Framework 6 Recipes》中文翻译系列 (38) ------ 第七章 使用对象服务之动态创建连接字符串和从数据库读取模型

    翻译的初衷以及为什么选择<Entity Framework 6 Recipes>来学习,请看本系列开篇 第七章 使用对象服务 本章篇幅适中,对真实应用中的常见问题提供了切实可行的解决方案. ...

  2. Introduction to 3D Game Programming with DirectX 12 学习笔记之 --- 第七章:在Direct3D中绘制(二)

    原文:Introduction to 3D Game Programming with DirectX 12 学习笔记之 --- 第七章:在Direct3D中绘制(二) 代码工程地址: https:/ ...

  3. 精通Web Analytics 2.0 (9) 第七章:失败更快:爆发测试与实验的能量

    精通Web Analytics 2.0 : 用户中心科学与在线统计艺术 第七章:失败更快:爆发测试与实验的能量 欢迎来到实验和测试这个棒极了的世界! 如果Web拥有一个超越所有其他渠道的巨大优势,它就 ...

  4. 《Entity Framework 6 Recipes》中文翻译系列 (41) ------ 第七章 使用对象服务之标识关系中使用依赖实体与异步查询保存

    翻译的初衷以及为什么选择<Entity Framework 6 Recipes>来学习,请看本系列开篇 7-7  标识关系中使用依赖实体 问题 你想在标识关系中插入,更新和删除一个依赖实体 ...

  5. Java语言程序设计(基础篇) 第七章 一维数组

    第七章 一维数组 7.2 数组的基础知识 1.一旦数组被创建,它的大小是固定的.使用一个数组引用变量,通过下标来访问数组中的元素. 2.数组是用来存储数据的集合,但是,通常我们会发现把数组看作一个存储 ...

  6. objective-c第七章课后练习2

    题:改变第七章例子中print方法,增加bool参数,判断如果是YES则对分数进行约简 @interface Fraction : NSObject { //int num,den; } @prope ...

  7. 读《编写可维护的JavaScript》第七章总结

      第七章 事件处理 7.1 典型用法 作者首先给了个我们一个处理事件的方法.看起来也没啥俩样,不过后来给出的优化方法很值得学习: // 不好的写法 function handleClick(even ...

  8. 第七章 LED将为我们闪烁:控制发光二极管

     第七章 LED将为我们闪烁:控制发光二极管 本章我们将会看到一个完整的linux驱动程序,通过linux驱动程序控制LED的四个小灯,通俗的说就是通过向linux驱动程序来控制LED小灯的开关.用到 ...

  9. Getting Started With Hazelcast 读书笔记(第七章)

    第七章 部署策略 Hazelcast具有适应性,能根据不同的架构和应用进行特定的部署配置,每个应用可以根据具体情况选择最优的配置: 数据与应用紧密结合的模式(重点,of就是这种) 胖客户端模式(最好用 ...

随机推荐

  1. python简说(八)random

    import randomprint(random.randint(1,23))#随机整数l=[1,2,3,4]s='abcdefeg'print(random.choice(s))#随机选择一个元素 ...

  2. SpringBoot 消息转换器 HttpMessageConverter

    1.简介: Spring在处理请求时,由合适的消息转换器将请求报文绑定为方法中的形参对象,在这里,同一个对象就有可能出现多种不同的消息形式,比如json和xml.同样,当响应请求时,方法的返回值也同样 ...

  3. SSM项目问题中遇到 ArrayList添加元素的问题

    记录项目开发中 一次有趣的debug经历 本来是在做单元测试的,但是发现如下代码 有问题.. ProductCategory p = new ProductCategory(); for (int i ...

  4. How do I extract a single column from a data.frame as a data.frame

    Say I have a data.frame: df <- data.frame(A=c(10,20,30),B=c(11,22,33), C=c(111,222,333))  A  B  C ...

  5. C# winform combobox默认选中项方法

    https://blog.csdn.net/easyboot/article/details/68062196 可以使用 Combobox.SelectText = “默认选中文本”; 但是如果Com ...

  6. 一个 xxx is not defined 引发的爬坑之路

    出处 https://www.cnblogs.com/daysme/ - 2018-01-06 昨晚找了一个代码解决了我对配置的需求.高兴的拿到手机上测试却发现点击没有效果,电脑上是可以的呀,电脑上的 ...

  7. jquery.form.js实现将form提交转为ajax方式提交的方法

    本文实例讲述了jquery.form.js实现将form提交转为ajax方式提交的方法.分享给大家供大家参考.具体分析如下: 这个框架集合form提交.验证.上传的功能. 这个框架必须和jquery完 ...

  8. 【译】第14节---数据注解-MaxLength/MinLength

    原文:http://www.entityframeworktutorial.net/code-first/maxlength-minlength-dataannotations-attribute-i ...

  9. 微信小程序--bind 和catch区别

    冒泡事件,当点击最里面的事件的时候,外面有事件也会执行,如3>2>1, 点击2时,2>1, 点击 最外层时 1. 1. bind事件  2.catch事件 catch事件是一个单独的 ...

  10. SpringLog4j日志体系实现方式

    1.通过web.xml读取log4j配置文件内容 2.通过不同的配置信息,来实现不同的业务输出,注意:log4j可以写入tomcat容器,也可以写入缓存,通过第三方平台读取 #输入规则#log4j.r ...