Processing基础之绘画
图形
//在(x, y)绘制点
point(x, y); //(x1, y1)到(x2, y2)的一条线
line(x1, y1, x2, y2); rect(x, y, weight, height); //Constant有三个值:
//默认CORNER:rect(左上x, 左上y, 宽, 高)
//CENTER:rect(中心x, 中心y, 宽, 高)
//CORNERS:rect(左上x, 左上y, 右下x, 右下y)
rectMode(Constant); //(x, y)圆心位置,weight水平直径,height垂直直径
ellipse(x, y, weight, height); //start圆弧起始角度,stop圆弧结束角度
arc(x, y, width, height, start, stop) //(x1, y1) (x2, y2) (x3, y3)表示三角形的三个顶点
triangle(x1, y1, x2, y2, x3, y3); //四边形
quad(x1, y1, x2, y2, x3, y3, x4, y4); //贝塞尔曲线
//(x1, y1)起始点 (x2, y2)终止点
//(cx1, cy1) (cx2, cy2)控制点
bezier(x1, y1, cx1, cy1 cx2, cy2, x2, y2); //自由图形
beginShape();//开始
vertex(x, y);//各节点
endShape(CLOSE);//结束绘制,闭合图形
案例:
size(300, 300);
background(50);
smooth(); //cloud
fill(255);
beginShape();
vertex(50, 180);
bezierVertex(50, 150, 80, 120, 132, 150);
bezierVertex(150, 115, 210, 135, 200, 160);
bezierVertex(270, 175, 230, 235, 170, 220);
bezierVertex(170, 250, 80, 255, 70, 220);
bezierVertex(20, 240, 25, 170, 50, 180);
endShape();
//moon
fill(255, 250, 190);
beginShape();
vertex(130, 60);
bezierVertex(250, 70, 210, 200, 130, 200);
bezierVertex(150, 190, 200, 115, 130, 60);
endShape();
效果

色彩
fill(灰阶)
fill(灰阶,透明度)
fill(R, G, B);
fill(R, G, B, alpha);//值越大,透明度越低
例子:
size(300, 300);
fill(255, 0, 0);//red
ellipse(100, 180, 130, 130);
fill(0, 255, 0);//green
ellipse(150, 100, 130, 130);
fill(0, 0, 255);//blue
ellipse(200, 180, 130, 130);
fill(255, 255, 0, 200);//
ellipse(140, 160, 60, 60);
效果

HSB色彩(百度百科)
例子
size(300, 300);
colorMode(HSB, 360, 100, 100);
fill(0, 100, 100);
rect(20, 20, 120, 50);
fill(0, 100, 50);
rect(160, 20, 120, 50); fill(120, 100, 100);
rect(20, 100, 120, 50);
fill(120, 100, 50);
rect(160, 100, 120, 50); fill(120, 50, 100);
rect(20, 180, 120, 50);
fill(120, 50, 50);
rect(160, 180, 120, 50);
效果

绘画属性
background(color)设定画布底色
fill(color)指定填充色
noFill()不填色
stroke(color)指定线条颜色
noStroke()不画线条
strokeWeight(thickness)指定边框宽度
strokeCap(mode)指定线条端点形式,SQUARE(方形端点)、PROJECT(方形延伸端点)、ROUND(圆形端点)
strokeJoin(mode)线条折角形式:MITER(尖角)、BEVEL(斜角)、ROUND(圆角)
smooth()开启平滑绘图模式
noSmooth()关闭
PDF输出
import processing.pdf.*;
size(300, 300, PDF, "test.pdf");
background(255);
smooth();
fill(100, 100 , 0);
line(20, 20, 100, 100);
效果

实例
代码:
size(300, 300);
background(255);
smooth();
noFill();
for (int i = 0; i < 75; i++) {
for (int x = 0; x < 350; x += 75) {
for (int y = 0; y < 350; y += 75) {
stroke(random(255), random(255), 255);
strokeWeight(4);
ellipse(x, y, i, i);
}
}
}
效果
Processing基础之绘画的更多相关文章
- 动态可视化 数据可视化之魅D3,Processing,pandas数据分析,科学计算包Numpy,可视化包Matplotlib,Matlab语言可视化的工作,Matlab没有指针和引用是个大问题
动态可视化 数据可视化之魅D3,Processing,pandas数据分析,科学计算包Numpy,可视化包Matplotlib,Matlab语言可视化的工作,Matlab没有指针和引用是个大问题 D3 ...
- 【重温基础】17.WebAPI介绍
本文是 重温基础 系列文章的第十七篇. 今日感受:挑战. 系列目录: [复习资料]ES6/ES7/ES8/ES9资料整理(个人整理) [重温基础]1-14篇 [重温基础]15.JS对象介绍 [重温基础 ...
- iTestSharp的简单应用
前言 最近公司某项目要针对一些信息基础表绘画成表格的形式然后生成pdf文件,在网上寻找到iTestSharp发现此类库很强大,虽然园子里已经有很多大牛写了关于此插件的使用方法,但是自己也想写一写,把自 ...
- 《Oracle Applications DBA 基础》- 9 - Concurrent Processing[Z]
<Oracle Applications DBA 基础>- 9 - Concurrent Processing================================== 参考资料 ...
- 《Oracle Applications DBA 基础》- 9 - Concurrent Processing
来自:http://www.itpub.net/thread-1411293-1-4.html <Oracle Applications DBA 基础>- 9 - Concurrent P ...
- [Qt扒手] PyQt5 基础绘画例子
[说明] 好吧,坦白从宽,我是Qt扒手(不要鄙视我).这是我根据qt官网提供的C++版本的例子(http://doc.qt.io/qt-5/qtwidgets-painting-basicdrawin ...
- Stanford NLP 学习笔记2:文本处理基础(text processing)
I. 正则表达式(regular expression) 正则表达式是专门处理文本字符串的正式语言(这个是基础中的基础,就不再详细叙述,不了解的可以看这里). ^(在字符前): 负选择,匹配除括号以外 ...
- canvas绘画基础(一):认识canvas画布
html5提供了一个<canvas>标签,结合javascript的canvas api接口可以用来绘制图形和动画.最近工作中涉及到画图的任务,下面来了解一下canvas的基础:canva ...
- WPF 基础 - 绘画 1) 线段、矩形、圆弧及填充色
1. 绘画 1.1 图形类型 Line X1.Y1.X2.Y2,Stroke,StrokeThickness Rectangle 矩形 Ellipse 椭圆 Polygon 多边形(自动闭合) Pol ...
随机推荐
- 使用DOTNETZIP过滤并压缩相对目录
业务要求: 压缩某个文件夹及其子目录 压缩时只压缩指定的文件类型,如cshtml 压缩后保持相对目录 找了很久,没有直接的DEMO,最后尝试通过以下代码完成 示例演示了只压缩cshtml和js,同 ...
- 解决idea中执行maven命令失败的问题
1.问题描述 如上图所示,在使用idea 里的maven命令执行项目打包时,有时候会报如下一个错误. -Dmaven.multiModuleProjectDirectory system proper ...
- 1、软件工程师要阅读的书籍 - IT软件人员书籍系列文章
软件工程师要阅读的书籍估计是项目组内最多的.软件工程师处于项目组中最基础的人员储备阶层,与项目的关系最密切.当然,现在是大数据时代,我们无法全部看完所有相关的书籍,只能够先学习工作需要的知识,然后在项 ...
- iPhone 6 被盗记录二【写在315前夕:苹果售后福州直信创邺在没有三包的情况下帮小偷翻新、助力小偷换机销赃!无视王法。让人震惊,痛心,憎恨!消费者很受伤很无奈】
投诉公司: 北京直信创邺数码科技有限公司 标题: 写在315前夕:苹果售后在没有三包的情况下帮小偷翻新.助力小偷换机销赃!无视王法.让人震惊,痛心,憎恨!消费者很受伤很无奈 期望: 还我手机,或者赔 ...
- JavaScript 省市级联效果
JavaScript 省市级联效果 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" " ...
- webapi 控制器接收POST参数时必须以对象的方式接收
webapi 控制器接收POST参数时必须以对象的方式接收
- 在Windows Server 2012 R2中搭建SQL Server 2012故障转移集群
需要说明的是我们搭建的SQL Server故障转移集群(SQL Server Failover Cluster)是可用性集群,而不是负载均衡集群,其目的是为了保证服务的连续性和可用性,而不是为了提高服 ...
- PuTTY配置
目录 1.作用? 2.中文问题解决 ? 3.GUI支持? 4.使用密钥对实现安全快捷的无密码登陆? 5.操作习惯(Alt+Enter全屏以及字体配置) 6.附录(sshd服务器配置) 1.作用? Pu ...
- Eclipse 安装 jBPM 插件
下载jbpm-installer安装包并解压,找到 jbpm-installer\build.properties搜索eclipse.home 修改 eclipse.home=./eclipse 成 ...
- C#性能优化考虑的几个方向
装箱与拆箱 ArrayList's vs. generic List for primitive types and 64-bits 类型转换 GC 注意SOH对象应该较快,避免内存泄漏 注意LO ...