Processing 字体变形
在Processing中做字体变形通常需要有以下基础知识:
1、PGraphics对象
2、图片像素化
制作过程也不复杂,代码如下:
color ELLIPSE_COLOR = color(0);
color LINE_COLOR = color(0, 125);
color PGRAPHICS_COLOR = color(0);
int LINE_LENGTH = 25;
boolean reverseDrawing = false;
PGraphics pg;
PFont f = createFont("宋体", 42);
void setup() {
size(1280, 720,P2D);
pg = createGraphics(width, height, JAVA2D);
pg.beginDraw();
pg.textFont(f);
pg.textSize(300);
pg.textAlign(CENTER, CENTER);
pg.fill(PGRAPHICS_COLOR);
pg.text("麥塔威", pg.width/2, pg.height/2);
pg.endDraw();
}
void draw() {
int gridH = (int) map(mouseX, 0, width, 30, 100);
int gridV = (int) map(mouseY, 0, height, 15, 100);
float w = width/gridH;
float h = height/gridV;
float r = min(w, h); background(255);
strokeWeight(1);
for (int y=0; y<gridV; y++) {
for (int x=0; x<gridH; x++) {
float _x = x*w;
float _y = y*h;
color c = pg.get(int(_x), int(_y));
boolean textDraw = (c == PGRAPHICS_COLOR);
if (textDraw) {
noStroke();
fill(ELLIPSE_COLOR);
ellipse(_x, _y, r, r);
} else {
stroke(LINE_COLOR);
line(_x, _y, _x+LINE_LENGTH, _y+LINE_LENGTH);
}
}
}
}
其中,setup部分的pg操作都是在PGraphics对象上的操作,这个对象就类似于画布上的画布,而draw里面两个for循环则是实现字体变形的关键,将图片像素化以后比对字体颜色和背景颜色就可以将字体从背景中“抠”出来,然后想捏扁还是捏圆就看各人的喜好了~

Processing 字体变形的更多相关文章
- UI设计教程分享:字体变形—阴阳收缩法
阴阳师中国古代对自然规律发展变化基础因素的描述,是古代美学逻辑思维.推理分析的核心要素,也是描述万物基本要素和成因的概念之一.阴阳代表事物的对立关系,它是自然界的客观规律,是万物运动变化的本源,是人类 ...
- CAD2015 C#二次开发 字体变形
开发环境:VS2012问题描述:一个简单的WinForm窗口,一个群组控件和一个Label,都是微软雅黑12pxCAD2015下,看起来却不一样,一个明显细得多. CAD2014下,无此问题.实验了C ...
- CSS字体
字体系列 [1]5种通用字体系列:拥有相似外观的字体系列 serif字体:字体成比例,且有上下短线,包括Times\Georgia\New century Schoolbook sans-serif字 ...
- HTML 学习笔记 CSS样式(字体)
css字体属性定义文本的字体系列 大小 加粗 风格 和 变形(如小型大写字母(类似于大写字母字体变小了)) css字体系列 在css中 有两种不同类型的字体系列名称 1.通用字体系列 - 拥有相似外观 ...
- css整理-02 颜色和字体
颜色 命名颜色 RGB指定颜色 数值: 0-255 百分比 三元组:红绿蓝 16进制RGB web安全颜色 在256色计算机系统上总能避免抖动的颜色 表示为rgb值20%和51的倍数 web安全色的简 ...
- css字体样式(Font Style),属性
css字体样式(Font Style),属性 css字体样式(Font Style)是网页中不可或缺的样式属性之一,有了字体样式,我们的网页才能变得更加美观,因此字体样式属性也就成为了每一位设计者 ...
- CSS笔记(五)字体
CSS 字体属性定义文本的字体系列.大小.加粗.风格(如斜体)和变形(如小型大写字母). 参考:http://www.w3school.com.cn/css/css_font.asp CSS字体系列 ...
- Web前端新人笔记之CSS字体
本章内容是阅读CSS权威指南的一个小积累和随笔.新人必看,老鸟也可查看并指出不足指出以便后人阅读更好地理解.O(∩_∩)O谢谢!!!设置字体属性时样式变的最常见的用途之一:不过,尽管字体选择很重要,但 ...
- 字体图标 icon font
Icon font icon font 指的是用字体文件代替图片文件,来展示图标.特殊字体等元素的方法. 应用场景: iconfont的优缺点 大小能够自由地变化 颜色能够自由地改动 加入阴影效果 * ...
随机推荐
- [SOJ #537]不包含 [CF102129I]Incomparable Pairs(2019-8-6考试)
题目大意:给定一个长度为$n$的字符串$s$,求有多少个无序字符串二元组$(x,y)$满足:$x,y$是$s$的字串,且$x$不是$y$的字串,$y$不是$x$的字串 题解:发现满足$x,y$是$s$ ...
- 机器学习 降维算法: isomap & MDS
最近在看论文的时候看到论文中使用isomap算法把3D的人脸project到一个2D的image上.提到降维,我的第一反应就是PCA,然而PCA是典型的线性降维,无法较好的对非线性结构降维.ISOMA ...
- Lucene BooleanQuery中的Occur.MUST与Occur.Should
https://www.cnblogs.com/weipeng/archive/2012/04/18/2455079.html 1. 多个MUST的组合不必多说,就是交集 2. MUST和SH ...
- JNA的应用
一.了解JNA之前,我们先了解一下JNA的前身JNI(Java Native Interface):通过使用 Java本地接口书写程序,可以确保代码在不同的平台上方便移植. [1] 从Java1.1 ...
- 使用activiti的designer插件记录
1.activiti添加排他网,条件下载condition中 2.activiti添加监听Listener,知道3种方法 1.实现taskListener 通过加载java class的方式去加载实现 ...
- mysql的安装,启动,和基础配置 -----windows版本
下载: 第一步 : 打开网址(进入官网下载) : https://www.mysql.com , 点击downloads之后跳转到https://www.mysql.com/downloads 第二步 ...
- python代码组织及模块使用
python代码组织 python和其他编程语言一样,采用包管理代码,一个包中可包含许多模块. 使用模块最大的好处是大大提高了代码的可维护性.其次,编写代码不必从零开始.当一个模块编写完毕,就可以被其 ...
- Python_Class
1.创建类的关键字:class 2.构造函数__init__(),自动初始化属性值 class Cup: #构造函数,初始化属性值 def __init__(self,capacity,color): ...
- prometheus operator 部署
prometheus operator 部署自定义记录 环境: k8s 1.11集群版本,kubeadm部署 docker 17.3.2版本 Centos 7系统 阿里云服务器 operator 源码 ...
- GooglePlay测试支付遇到的问题
推荐谷歌安装器,可以方便地安装谷歌框架及服务 问题列表 1.测试支付时出现:需要验证身份.您需要登录自己google账号 解决:我是使用VPN,VPN地区是日本,但我在google后台设置的发布(下载 ...