•     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>,&nbsp;<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的配置、监控与优化,比拟实用,值得学习。

欢送关注微信公众号:悟为生心