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 入门的更多相关文章

  1. Java 2D API - 1. 基本概念

    Java 2D API扩展AWT包,对二维图形.文本及成像功能提供了支持,可用于开发复杂的界面.绘图软件和图像编辑器.Java 2D对象位于用户坐标空间(User coordinate space), ...

  2. Google 地图 API V3 使用入门

    Google官方教程: Google 地图 API V3 使用入门 Google 地图 API V3 针对移动设备进行开发 Google 地图 API V3 之事件 Google 地图 API V3 ...

  3. Java编程学习知识点分享 入门必看

    Java编程学习知识点分享 入门必看 阿尔法颜色组成(alpha color component):颜色组成用来描述颜色的透明度或不透明度.阿尔法组成越高,颜色越不透明. API:应用编程接口.针对软 ...

  4. 【百度文库课程】Java语言基础与OOP入门学习笔记一

    一. Java的历史与由来 原名Oak,针对嵌入式系统开发设计,语法与C/C++基本一致 二. Java语言特点 Java由四方面组成:Java编程语言.Java类文件格式.Java虚拟机和Java应 ...

  5. 关于c#调用java中间件api的几个问题

    由于项目需要,做的c#客户端数据库连接串首先肯定不能写死的程序里(数据库很容易被攻击,我们的项目半年改了几次密码...) 放置在配置文件内,都可以看得到,最开始想法将配置文件加密,老师说加密过的文件还 ...

  6. Kylin Java RESTful API

    最近在做大数据方面的开发, 学习研究了一段时间的kylin系统, 对于前端开发需要使用 RESTful API ,但是官网并没有提供详细的Java  API. 经过几天的看文档,最终写出了 Java ...

  7. libj 0.8.2 发布,Java/JavaScript API 的 C++ 实现

    libj 0.8.2 增加了一些新的字符串相关的方法. libj 是一个跨平台的运行库,相当于提供了类似 Java/JavaScript API.libj 的内存管理是自动的,基于 shared_pt ...

  8. Android使用Java Mail API发送邮件

    最近在考虑为已经有的一个应用程序增加一个用户反馈的功能,用户可以通过反馈功能将用户的意见和建议.程序出现的问题以一种更符合用户习惯的方式反馈回来.网上也有一些实现好的反馈程序的服务,包括bug的提交. ...

  9. Java Attach API

    catalog . instrucment与Attach API . BTrace: VM Attach的两种方式 . Sun JVM Attach API 1. instrucment与Attach ...

随机推荐

  1. ODBC与ADO 连SQL Server 2005

    ADO是microsoft数据库应用程序开发的连连接口,是建立在OLE DB之上的高层 ADO使用方法步骤: 1.初始化COM库,引入ADO库定义 2.用connection对象连接数据库 3.利用连 ...

  2. Android NDK几点回调方式

    一.NDK中获取android设备ID的方式 Java代码如下(获取设备ANDROID_ID): final String androidId = Secure.getString(context.g ...

  3. Sequential List

    Sequential ListSequential list storage structure:#define LIST_INIT_SIZE 20 #define LIST_INCREASE 10t ...

  4. java多线程基础

    多线程基础 读书练习照猫画虎 package Threadtest; import java.util.Date; import java.util.concurrent.ArrayBlockingQ ...

  5. Git学习笔记(Mac Linux系统)

    最近参与学校一个比赛,和队友一起做一个小项目,需要将代码传到Coding(国内git代码托管平台),因此这几天才正式入手git版本控制系统,在这里我就记录一下最近的学习git心得体验,一来分享一下自己 ...

  6. ACM water

    1000  纯属适应题 1003  做的时候花了很久,现在看好像也不难 1004  适应题,求下平均就行 1005  要读懂题就行 1007  逆序数,discuss方法 1046  全部暴搜一遍.. ...

  7. Lua 调用 Opencv 的方法

    Lua 调用 Opencv 的方法 最近想用 Lua 调用 Opencv 进行相关像素级操作,如:bitwise_and 或者 bitwise_or,从而完成图像 IoU 的计算. 那么,怎么用 Lu ...

  8. github上传本地项目

    github上传本地项目,分为两个部分: 1.如果建立了ssh key的,直接看第二部分的上传部分就行了 2.如果没有建立ssh key的,就从头开始看吧 ——————————————————我是快乐 ...

  9. BackgroundWorker学习

    后台代码: using System; using System.Collections.Generic; using System.ComponentModel; using System.Data ...

  10. js获取ModelAndView值的问题

    Springmvc中使用ModelAndView传值 return new ModelAndView(url).addObject(CommonConstant.PAGE_KEY, page) .ad ...