Java 2D API强大而复杂,不过大多时候我们只需使用java.awt.Graphcis类的部分功能。下面的内容将覆盖大多数的常见应用。
Graphics 类中的方法大致可以分为两类:
- Draw and fill方法,用于绘制基本的图形、文本和图像;
- 属性设置方法,用于控制绘制和填充的效果。setFont()和setColor()等方法就属于这类方法。
下图显示这些方法和图像的对应关系:
1. drawString()
用于绘制文本:
g.drawString("Hello", 10, 10);
参数分别为:
- 待绘制字符串
- 起点x和y坐标
import java.applet.Applet; import java.awt.Graphics; public class Graphics_drawString extends Applet { @Override public void paint(Graphics g){ g.drawString("Hello Graphics", 75, 100); } } |
输出界面如下:
2. drawImage
绘制图像:
import java.applet.Applet; import java.awt.Graphics; import java.awt.Image; import java.awt.Toolkit; public class Graphics_drawImage extends Applet { @Override public void paint(Graphics g) { Image img = Toolkit.getDefaultToolkit().getImage(this.getClass().getResource("th.png")); g.drawImage(img, 0, 0, 400, 500, this); } } |
th.png是我随便选的一个图片,输出界面如下:
3. drawLine, drawArc, drawRect, drawOval, drawPolygon
这些方法用于绘制不同的形状。
根据需求不同,可以根据以下的建议选择Graphics的方法:
- 是否以图片原始大小渲染图片,或者根据指定rectangle缩放图片;
- 对图片的透明区域,是填充还是不管它。
2D graphics 的每个点都需要 (x,y) 坐标确定,所以所以的绘制和填充方法都需要位置信息。例如,绘制线条:
Graphics.drawLine(int x1, int y1, int x2, int y2);
其中,(x1, y1)是线条起点,(x2, y2) 是线条终点。
Java 2D API - 2. Graphics 入门的更多相关文章
-
Java 2D API - 1. 基本概念
Java 2D API扩展AWT包,对二维图形.文本及成像功能提供了支持,可用于开发复杂的界面.绘图软件和图像编辑器.Java 2D对象位于用户坐标空间(User coordinate space), ...
-
Google 地图 API V3 使用入门
Google官方教程: Google 地图 API V3 使用入门 Google 地图 API V3 针对移动设备进行开发 Google 地图 API V3 之事件 Google 地图 API V3 ...
-
Java编程学习知识点分享 入门必看
Java编程学习知识点分享 入门必看 阿尔法颜色组成(alpha color component):颜色组成用来描述颜色的透明度或不透明度.阿尔法组成越高,颜色越不透明. API:应用编程接口.针对软 ...
-
【百度文库课程】Java语言基础与OOP入门学习笔记一
一. Java的历史与由来 原名Oak,针对嵌入式系统开发设计,语法与C/C++基本一致 二. Java语言特点 Java由四方面组成:Java编程语言.Java类文件格式.Java虚拟机和Java应 ...
-
关于c#调用java中间件api的几个问题
由于项目需要,做的c#客户端数据库连接串首先肯定不能写死的程序里(数据库很容易被攻击,我们的项目半年改了几次密码...) 放置在配置文件内,都可以看得到,最开始想法将配置文件加密,老师说加密过的文件还 ...
-
Kylin Java RESTful API
最近在做大数据方面的开发, 学习研究了一段时间的kylin系统, 对于前端开发需要使用 RESTful API ,但是官网并没有提供详细的Java API. 经过几天的看文档,最终写出了 Java ...
-
libj 0.8.2 发布,Java/JavaScript API 的 C++ 实现
libj 0.8.2 增加了一些新的字符串相关的方法. libj 是一个跨平台的运行库,相当于提供了类似 Java/JavaScript API.libj 的内存管理是自动的,基于 shared_pt ...
-
Android使用Java Mail API发送邮件
最近在考虑为已经有的一个应用程序增加一个用户反馈的功能,用户可以通过反馈功能将用户的意见和建议.程序出现的问题以一种更符合用户习惯的方式反馈回来.网上也有一些实现好的反馈程序的服务,包括bug的提交. ...
-
Java Attach API
catalog . instrucment与Attach API . BTrace: VM Attach的两种方式 . Sun JVM Attach API 1. instrucment与Attach ...
随机推荐
-
SQL2008中Merge Into的用法
在SQL2008中,新增了一个关键字:Merge,这个和Oracle的Merge的用法差不多,只是新增了一个delete方法而已.下面就是具体的使用说明: 首先是对merge的使用说明: merge ...
-
CSS学习_属性选择器
CSS选择器参考 [attribute]——选取带有指定属性的元素: [attribute=value]——选取带有指定属性和值的元素: [attribute~=value]——选取属性值中包含指定词 ...
-
Weex 样式
1.盒型 width height padding padding-left padding-right padding-top padding-bottom margin margin-left m ...
-
JavaSE基础知识(6)—异常和异常处理
一.异常的理解及体系结构图 1.理解 异常:程序运行过程中发生的不正常现象.java中的错误: 语法错误 运行异常 逻辑错误 2.体系图 java程序在执行过程中所发生的异常分为两类: Error:J ...
-
Linux Namespace : User
User namespace 是 Linux 3.8 新增的一种 namespace,用于隔离安全相关的资源,包括 user IDs and group IDs,keys, 和 capabilitie ...
-
oldboy s21day02
1.猜数字,设定一个理想数字比如:66,让用户输入数字,如果比66大,则显示猜测的结果大了:如果比66小,则显示猜测的结果小了;只有等于66,显示猜测结果正确,然后退出循环.while 1: num ...
-
【Spark-core学习之一】 Spark初识
环境 虚拟机:VMware 10 Linux版本:CentOS-6.5-x86_64 客户端:Xshell4 FTP:Xftp4 jdk1.8 scala-2.10.4(依赖jdk1.8) spark ...
-
警告:Your CPU supports instructions that this TensorFlow binary was not compiled to use: AVX2 FMA
加入 import os os.environ[' demo: import os os.environ[' import tensorflow as tf tf.enable_eager_execu ...
-
通过/proc/sys/net/ipv4/优化Linux下网络性能
通过/proc/sys/net/ipv4/优化Linux下网络性能 /proc/sys/net/ipv4/优化1) /proc/sys/net/ipv4/ip_forward该文件表示是否打 ...
-
《学习OpenCV》课后习题解答8
题目:(P126) 本章完整讲述了基本的输入/输出编程以及OpenCV的数据结构.下面的练习是基于前面的知识做一些应用,为后面大程序的实现提供帮助. a.创建一个程序实现以下功能:(1)从视频文件中读 ...