- JDK:OpenJDK-11
- OS:CentOS 7.6.1810
- IDE:Eclipse 2019‑03
- typesetting:Markdown
code
package per.jizuiku.gui;
import java.awt.Color;
import java.awt.Font;
import java.awt.Graphics2D;
import java.awt.image.BufferedImage;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import javax.imageio.ImageIO;
/**
* @author 给最苦
* @date 2019/06/30
* @blog segmentfault.com/u/jizuiku
*/
public class Demo {
/**
*
* @param args
* @throws FileNotFoundException
* @throws IOException
*/
public static void main(String[] args) throws FileNotFoundException, IOException {
// 失去图片缓冲区
int width = 100;
int height = 50;
int imageType = BufferedImage.TYPE_INT_BGR;
BufferedImage myImage = new BufferedImage(width, height, imageType);
// 失去画笔
Graphics2D pen = (Graphics2D)myImage.getGraphics();
// 设置笔的色彩, 即背景色
pen.setColor(Color.WHITE);
// 画出一个矩形
// 坐标 x 坐标 y 宽度 100 长度 50
pen.fillRect(0, 0, 100, 50);
// monospace 粗体显示 大小 12
Font font = new Font("monospace", Font.BOLD, 25);
pen.setFont(font);
// 字的色彩 和 背景的色彩 要不同的
pen.setColor(Color.blue);
// 写字
pen.drawString("abcd", 20, 35);
ImageIO.write(myImage, "JPEG", new FileOutputStream("abcd.jpg"));
}
}
result
sourceCode
/**
* Renders the text of the specified {@code String}, using the
* current text attribute state in the {@code Graphics2D} context.
* The baseline of the
* first character is at position (<i>x</i>, <i>y</i>) in
* the User Space.
* The rendering attributes applied include the {@code Clip},
* {@code Transform}, {@code Paint}, {@code Font} and
* {@code Composite} attributes. For characters in script
* systems such as Hebrew and Arabic, the glyphs can be rendered from
* right to left, in which case the coordinate supplied is the
* location of the leftmost character on the baseline.
* @param str the string to be rendered
* @param x the x coordinate of the location where the
* {@code String} should be rendered
* @param y the y coordinate of the location where the
* {@code String} should be rendered
* @throws NullPointerException if {@code str} is
* {@code null}
* @see java.awt.Graphics#drawBytes
* @see java.awt.Graphics#drawChars
* @since 1.0
*/
public abstract void drawString(String str, int x, int y);
resource
- [JDK] openjdk.java.net
- [doc – 参考] docs.oracle.com/en/java/javase/11
- [标准 – 举荐] yq.aliyun.com/articles/69327
- [标准 – 举荐] google.github.io/styleguide
- [源码] hg.openjdk.java.net
- [OS] www.centos.org
- [IDE] www.eclipse.org/downloads/packages
- [平台] segmentfault.com
感激帮忙过 给最苦 的人们。
Java、Groovy 和 Scala 等基于 JVM 的语言,优良,值得学习。
标准的命名和代码格局等,有助于沟通和了解。
JVM 的配置、监控与优化,比拟实用,值得学习。
欢送关注微信公众号:悟为生心