java image类_在 Java 应用程序中创建图像

在 Java 应用程序中创建图像

在不严重牺牲性能的前提下绘制和着色简单的图形图像

2771ca892c7b2591131a36eb05b9a9bb.png

Ivor Horton

2001 年 2 月 02 日发布

合成图像

您不必从文件中读取所有的图像 ―

您可以创建自己的图像。要创建自己的图像,最灵活的方法是用一个

BufferedImage 对象,它是

Image

类的一个子类,它把图像数据存储在一个可以被访问的缓冲区中。它还支持各种存储像素数据的方法:使用或不使用

alpha

通道、不同种类的颜色模型以及颜色组件的各种精确度。

ColorModel

类提供一种灵活的方法定义各种颜色模型,以和

BufferedImage

对象一起使用。为了理解颜色模型工作的基本知识,我们将只使用一个缺省的颜色模型,其颜色组件由

RGB 值和一个缓冲类型(存储 8 位的 RGB 颜色值加上一个 alpha

通道)组成。这一缓冲类型由

BufferedImage 类中的常量

TYPE_INT_ARGB 指定,它意味着每个像素要用一个

int 值。每个像素的值是以 8 位字节形式存储一个 alpha

组件加上 RGB 颜色组件。我们可以用给定的宽度和高度创建一个这种类型的

BufferedImage 对象,代码语句如下:int width = 200;

int height = 300;

BufferedImage image = new BufferedImage(width,

height,BufferedImage.TYPE_INT_ARGB);

这段代码创建了一个

BufferedImage 对象,它代表一个

200 像素宽、300

像素高的图像。为了应用这个图像,我们需要有图形上下文,而

BufferedImage 对象的

createGraphics()

方法就返回一个与该图像相关的

Graphics2D 对象:int width = 200;

Graphics2D g2D = image.createGraphics();

使用

g2D 对象的操作会修改

BufferedImage 对象 image

的像素。利用这个对象,您现在完全有能力应用

BufferedImage

对象。您可以绘制形状、图像、

GeneralPath

对象或任何别的东西,还可以为图形上下文设置 alpha

组合对象。您同时还拥有

Graphics2D

对象提供的全部仿射变形能力。

如果要从

BufferedImage

对象获取单个像素,可以通过调用它的

getRGB()

方法,并提供该像素的 x,y 坐标作为

int

类型的参数。这个像素会按

TYPE_INT_ARGB 格式以

int 类型返回,它由四个 8 位的值(代表 alpha 值和 RGB

颜色组件)组成一个 32 位字。同时

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值