Java基础 awt Graphics2D 生成矩形图片并向其中画一条直线
- JDK :OpenJDK-11
- OS :CentOS 7.6.1810
- IDE :Eclipse 2019‑03
- typesetting :Markdown
code
package per.jizuiku.gui;
import java.awt.BasicStroke;
import java.awt.Color;
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 www.cnblogs.com/jizuiku
*/
public class Demo {
/**
* @param args
*/
public static void main(String[] args) {
try {
getImage();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
/**
*
* @throws FileNotFoundException
* @throws IOException
*/
public static void getImage() 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);
// 字的颜色 和 背景的颜色 要不同的
pen.setColor(Color.blue);
// 划线
// 点动成线,线动成面,面动成体
// 两点确定一条直线
int xStart = 5;
int yStart = 15;
int xEnd = 60;
int yEnd = 30;
// 设置线的宽度
float lineWidth = 7F;
pen.setStroke(new BasicStroke(lineWidth));
pen.drawLine(xStart, yStart, xEnd, yEnd);
ImageIO.write(myImage, "JPEG", new FileOutputStream("line" + ".jpg"));
}
}
result

sourceCode
/**
* Draws a line, using the current color, between the points
* <code>(x1, y1)</code> and <code>(x2, y2)</code>
* in this graphics context's coordinate system.
* @param x1 the first point's <i>x</i> coordinate.
* @param y1 the first point's <i>y</i> coordinate.
* @param x2 the second point's <i>x</i> coordinate.
* @param y2 the second point's <i>y</i> coordinate.
*/
public abstract void drawLine(int x1, int y1, int x2, int y2);
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
- [ 平台 ] www.cnblogs.com
感谢帮助过 给最苦 的人们。
Java、Groovy和Scala等基于JVM的语言,优秀,值得学习。
规范的命名和代码格式等,有助于沟通和理解。
JVM的配置、监控与优化,比较实用,值得学习。
Java基础 awt Graphics2D 生成矩形图片并向其中画一条直线的更多相关文章
- Java基础 awt Graphics2D 生成矩形图片并向内写入字符串
JDK :OpenJDK-11 OS :CentOS 7.6.1810 IDE :Eclipse 2019‑03 typesetting :Markdown code ...
- Java基础 awt Font 四种字体样式
JDK :OpenJDK-11 OS :CentOS 7.6.1810 IDE :Eclipse 2019‑03 typesetting :Markdown code ...
- javaweb基础(9)_Servlet生成验证码图片
一.BufferedImage类介绍 生成验证码图片主要用到了一个BufferedImage类,如下:
- java中 awt Graphics2D
Graphics2D ,Graphics 类,提供了对几何形状.坐标转换.颜色管理和文本布局更为复杂的控制.它是用于在 Java(tm) 平台上呈现二维形状.文本和图像的基础类.验证码生成可以用到此类 ...
- Java基础---AWT
流式布局FlowLayout package net.zyz; import java.awt.Button; import java.awt.FlowLayout; import java.awt. ...
- java基础---->使用Itext生成数据库文档
这里简单的介绍一下使用Itext生成数据库表的文档.于是我们领教了世界是何等凶顽,同时又得知世界也可以变得温存和美好. 生成数据库的文档 一.maven项目需要引入的jar依赖 <depende ...
- Java基础之随机生成数字和字母
字母与数字的ASCII码 目 前计算机中用得最广泛的 字符集及其编码,是由美国国家标准局(ANSI)制定的ASCII码(American Standard Code for Information I ...
- Java Web用Freemarker生成带图片的Word文档
步骤一:模板制作 用world2003做一个导出模板,如果有图片则加入一张图片占位,将world另存为xml,将xml中需要导出的内容用Freemarker标签表示,最后另存为.ftl结尾的模板: 步 ...
- Java基础 awt Frame 设置窗体的背景颜色
JDK :OpenJDK-11 OS :CentOS 7.6.1810 IDE :Eclipse 2019‑03 typesetting :Markdown code ...
随机推荐
- mysql修改密码策略
版权声明:本文为博主原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明. 本文链接:https://blog.csdn.net/Hello_World_QWP/arti ...
- win10系统下安装Ubuntu18.04双系统
1.http://releases.ubuntu.com/18.04/ubuntu-18.04.2-desktop-amd64.iso下载Ubuntu 18.04镜像,准备好一个空的U盘 2.下载ru ...
- 【解决】Error: ENOSPC: no space left on device, watch
发现问题: 启动 node 项目ReactNative时候出现报错Error: ENOSPC: no space left on device, watch [root@iz2zeihk6kfcls5 ...
- PAT 乙级 1001.害死人不偿命的(3n+1)猜想 C++/Java
1001 害死人不偿命的(3n+1)猜想 (15 分) 题目来源 卡拉兹(Callatz)猜想: 对任何一个正整数 n,如果它是偶数,那么把它砍掉一半:如果它是奇数,那么把 ( 砍掉一半.这样一直反复 ...
- Android AMS服务
继续来研究Android Framework层相关的一些东东,这里是以Android8.0版本的源码进行梳理的,关注的还是其核心流程,不是彻底分析,了解了核心流程是为了了期其大概的原理. Androi ...
- java abstractQueue
- spring、springMvc、springBoot和springCloud的联系与区别
spring和springMvc: 1. spring是一个一站式的轻量级的java开发框架,核心是控制反转(IOC)和面向切面(AOP),针对于开发的WEB层(springMvc).业务层(Ioc) ...
- 关于“Error: listen EADDRINUSE: address already in use 127.0.0.1:3000”
运行vue项目的时候报 Error: listen EADDRINUSE: address already 这个错,表示3000端口号被占用. 解决方法: 1.打开cmd,执行 netstat -n ...
- FitNesseRoot/ErrorLogs目录下可查看fitnesse输出日志
调试fitnesse用例时,通过测试页面的输出信息不是很好定位问题出在哪里 这时可以在写代码过程中,增加一些输出信息,比如说java的话,可以用log4j.注意要把日志输出弄成utf-8编码,不然会中 ...
- python操作excel获取内容
背景:从excel表中获取请求url.请求数据.请求类型.预期结果 因此,需要学会如何使用python从excel获取这些信息 #coding=utf-8 import xlrd #创建对象时,获取对 ...