[Processing]在画布上写文本
- 准备工作
- 这一步只是我强迫症犯了哈,这个随意,画几根线而已。每一小格10个像素,中格50,大格100像素
void setup()
{
size(,);
} void draw()
{
background(,,);
//translate(width/2,height/2);
Aix(,,width,height,);
Aix(,,width,height,);
Aix(,,,,);
Aix(,,,,);
stroke();
strokeWeight();
line(-width,, width,);
line(,-height, ,height); DrawText();
} float weight = ;
float del = ;
float lonW = ;
float lonH = ;
void Aix(float w,float d,float lw,float lh,float st)
{
weight = w;
del = d;
lonW = lw;
lonH = lh;
stroke(st);
strokeWeight(weight);
for(int i = ;i <= width;i+=del)
{
line(i,-lonH, i,lonH);
}
for(int i = ;i >= -width;i-=del)
{
line(i,-lonH, i,lonH);
}
for(int i = ;i <= height;i+=del)
{
line(-lonW,i, lonW,i);
}
for(int i = ;i >= -height;i-=del)
{
line(-lonW,i, lonW,i);
}
} void DrawText()
{ }
- 打印文字
text(String str,float x,float y[,float z]);//在某位置显示文本,默认为白色的文本,可用 fill() 方法填充颜色
text(char[] chars,int start,int end,float x,float y[,float z]);
text(String str,float x1,float y1,float x2,float y2);//在两个点决定的矩形内显示字符串
text(float num,float x,float y[,float z]);void DrawText()
{
String str = "Hello World";
text(str,,);
}
- 默认文字是白色的,所以如果一开始背景是浅色的话回看不清楚,这一点要注意。可用用 fill(); 方法改变颜色
- 字体大小
void DrawText()
{
String str = "Hello World"; textSize();//修改字体大小
text(str,,);
}
- 对其方式
- textAlign(h[,o]); 其中,h表示水平对齐方式,o表示垂直对齐方式,可填入宏
- h
- RIGHT 右对齐
- CENTER
- LEFT
- o
- TOP
- CENTER
- BOTTOM
- BASELINE 基线对齐
- h
void DrawText()
{
String str = "Hello World"; noFill();
stroke(#E0A000);
rect(,, ,);//画矩形 textSize();
textAlign(RIGHT,BOTTOM);//右下对齐
text(str,,, ,);//在一个矩形内显示
}
- textAlign(h[,o]); 其中,h表示水平对齐方式,o表示垂直对齐方式,可填入宏
- 设置行高
void DrawText()
{
String str = "Hello World\nWorld Hello"; noFill();
stroke(#E0A000);
rect(,, ,); textSize();
textLeading();
text(str,,, ,);
textLeading();
text(str,,, ,);
textLeading();
text(str,,, ,);
}
文本宽度
void DrawText()
{
String str = "Hello World\nWorld Hello"; noFill();
stroke(#E0A000);
rect(,, ,); textSize();
textLeading();
text(str,,, ,); //画一个框把一行文字框起来
stroke(#FFFFCC);
line(,, textWidth(str),);//用到了获取字符串宽度的方法 textWidth()
line(,, textWidth(str),); stroke(#EECCEE);
line(,, ,);
line(textWidth(str),, textWidth(str),);
}
[Processing]在画布上写文本的更多相关文章
- matlab 工具函数 —— axnote(在坐标轴上写文本内容)
function axnote(string) font_size = get(0, 'DefaultAxesFontSize'); if 1 h1 = text(0.99, 0.05, string ...
- 玩转html5(二)----用canvas结合脚本在画布上画简单的图(html5又一强大功能)
在html5中可以使用canvas标签在画布上画图,先直接上代码,这篇文章先简单介绍一下canvas的使用方法,简单画几个圆,矩形,三角形,写字. 在代码中均给出了注释,在这里特别强调的一点是:使用c ...
- 有趣html5(两)----使用canvas结合剧本画在画布上的简单图(html5另一个强大)
请珍惜劳动小编成果,这篇文章是原来小编,转载请注明出处. 于html5中能够使用canvas标签在画布上绘图,先直接上代码,这篇文章先简介一下canvas的用法.简单画几个圆,矩形,三角形,写字. 在 ...
- AsyncTask异步上传文本到服务器
服务器代码:用于接收客户端信息 package ches; import java.io.IOException; import java.io.PrintWriter; import javax.s ...
- C#从Image上读取文本
今天通过C#来实现一个读取Image上文本的功能. 1. 环境准备: 1). 下载 Microsoft Office SharePoint Designer 2007. 2). 安装请参考KB:htt ...
- 使用hexo在github上写blog
使用hexo在github上写blog 安装nodejs http://nodejs.org/ 安装hexo npm install -g hexo 创建bolg文件夹 安装完成后在自己的工作目录创建 ...
- 用Jekyll在github上写博客——《搭建一个免费的,无限流量的Blog》的注脚
本来打算买域名,买空间,用wordpress写博客的.后来问了一个师兄,他说他是用github的空间,用Jekyll写博客,说很多人都这么做.于是我就研究了一下. 比较有价值的文章有这么几篇: htt ...
- 当标签上写了runat="server" 后,<%%>就会无效
当标签上写了runat="server" 后,<%%>就会无效 //这是错误的写法 <input type="hidden" runat=&q ...
- USB系列之四:向U盘上写数据
在<USB系列之三>中,我们实现了一系列的SCSI命令,在这个系列中,我们要实现向U盘上写扇区的命令,所以,本文相对比较容易,更多地是给出一个实现的源程序. 在<USB系列之三> ...
随机推荐
- Java 输入输出流总结
1. 运用BufferedInputStream 读取文件流和BufferedOutputStream写文件流: protected static void writeFile2(String inp ...
- Python的网络编程 Socket编程
Socket是进程间通信的一种方式,与其他进程间通信的一个主要不同是:能实现不同主机间的进程间通信,网络上各种各样的服务大多都是基于Socket来完成通信的,要解决网络上两台主机间的通信问题,首先要唯 ...
- CSS 构造表格
表格边框 CSS 中设置表格边框,请使用 border 属性: <style type="text/css"> table{ border:1px solid red; ...
- Django template 过滤器
转载自: http://www.lidongkui.com/django-template-filter-table 一.形式:小写 {{ name | lower }} 二.过滤器是可以嵌套的,字符 ...
- Jsp实现在线作业提交系统
Jsp实现在线作业提交系统 作为 Computer Science 的学生,凌晨四点之前睡都应该感到羞耻. 项目托管地址:https://github.com/four-in-the-morning/ ...
- Python自动化之迭代器不能在迭代的时候更改值
除列表外的其他序列都是不可变的, 所以危险就发生在这里. 一个序列的迭代器只是记录你当前到达第多少个元素, 所以如果你在迭代时改变了元素, 更新会立即反映到你所迭代的条目上.在迭代字典的 key 时, ...
- LeetCode559. Maximum Depth of N-ary Tree
第一次写出了具有迭代和递归的函数,还是有点收获的,虽然题目比较简答 当要对某些对象重复使用时,考虑循环,也就是迭代 当函数可以简化一个重复的操作时,考虑递归,而且就当下一次使用这和函数的结果已经有啦, ...
- 【题解】洛谷P2577 [ZJOI2005] 午餐(DP+贪心)
次元传送门:洛谷P2577 思路 首先贪心是必须的 我们能感性地理解出吃饭慢的必须先吃饭(结合一下生活) 因此我们可以先按吃饭时间从大到小排序 然后就能自然地想到用f[i][j][k]表示前i个人在第 ...
- CAN网要不要共地?
重要:CAN网要不要共地? 因为CAN传输采用差分传输的方式,即使不共地,部分情况下仍然能传输数据,但是本人以实际的经验告诉你们,一定要共地! 1. 不共地会引入共模干扰,轻则影响正常 ...
- SICP 习题 (1.35)解题总结
SICP 习题 1.35要求我们证明黄金切割率φ 是变换函数 x => 1+ 1/x 的不动点,然后利用这一事实通过过程fixed-point 计算出φ的值. 首先是有关函数的不动点,这个概念须 ...