媒体

如何将文件导入 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. php7安装redis拓展

    phpredis下载地址https://github.com/phpredis/phpredis   解压并进入源码包 unzip phpredis-develop.zip cd phpredis-d ...

  2. mint-ui之datetime-picker使用

    一基本使用<template> <mt-datetime-picker ref="picker" type="time" v-model=&q ...

  3. linux 安装二进制包程序一般步骤

    参考:https://blog.csdn.net/linzhiji/article/details/6774410 configure/make/make install的作用 这些都是典型的使用GN ...

  4. 《学习OpenCV3》第6章课后习题

    //Exercises at end of Chapter 5,<learning OpenCV3> #include "stdafx.h" #include < ...

  5. 指针delete之后赋值为null

    1.现象 经常看到有些代码在delete之后赋值为null 2.原因 C++标准规定:delete空指针是合法的,没有副作用. 所以我们在Delete指针后赋值为NULL或0是个好习惯.对一个非空指针 ...

  6. 利用Selenium自动化测试android wap页

    http://blogs.360.cn/360qtest/2014/04/01/%E5%88%A9%E7%94%A8selenium%E8%87%AA%E5%8A%A8%E5%8C%96%E6%B5% ...

  7. 数组中的元素 增加push用法 unshift() 方法 和减少pop() 方法 shift() 和其他位置增删 splice() 方法 join() 方法 reverse() 方法 sort() 方法

    push用法 push 英 [pʊʃ] 美 [pʊʃ] vt. 推,推动; vt. 按; 推动,增加; 对…施加压力,逼迫; 说服; n. 推,决心; 大规模攻势; 矢志的追求 定义和用法 push( ...

  8. Oracle使用——oracle 忘记用户密码登录

    背景 有时候我们忘记了oracle登录的用户密码,甚至是用户名称都不确定,应该怎么登陆呢 操作系统 CentOS7 Oracle12c 操作步骤 使用sqlplus登录系统:sqlplus  /  a ...

  9. vue学习【第五篇】:Vue组件

    什么是组件 - 每一个组件都是一个vue实例 - 每个组件均具有自身的模板template,根组件的模板就是挂载点 - 每个组件模板只能拥有一个根标签 - 子组件的数据具有作用域,以达到组件的复用 根 ...

  10. linux内核中的cfq输入输出调度算法

    1. 全称是什么? 完全公平调度算法(completely fair queuing) 2. 原理是怎样的? 先按照输入输出请求的地址进行排序,然后按排好的次序执行请求 3. 适用场景 适用于旋转式磁 ...