Java图像处理所用到的重要类

本文介绍了Java图像处理中的一些核心类,包括MemoryImageSource用于创建动态图像,Component的createImage方法生成图像,Toolkit类在图像操作中的作用,以及PixelGrabber类用于获取图像像素。此外,还提及了javax.swing中的ImageIcon类。
摘要由CSDN通过智能技术生成

1)打包生成图像数据的类

java.awt.image 
类 MemoryImageSource

java.lang.Object
  java.awt.image.MemoryImageSource
所有已实现的接口:
ImageProducer
public class MemoryImageSource
extends Object implements ImageProducer
 

此类是 ImageProducer 接口的一个实现,该接口使用一个数组为 Image 生成像素值。下面的示例计算了一幅 100x100 的图像,表示沿 X 轴从黑色渐变到蓝色,沿 Y 轴从黑色渐变到红色:

           int w = 100;
          int h = 100;
          int pix[] = new int[w * h];
          int index = 0;
          for (int y = 0; y < h; y++) {
              int red = (y * 255) / (h - 1);
              for (int x = 0; x < w; x++) {
                  int blue = (x * 255) / (w - 1);
                  pix[index++] = (255 << 24) | (red << 16) | blue;
              }
          }
          Image img = createImage(new MemoryImageSource(w, h, pix, 0, w));

MemoryImageSource 还能够管理随时间的推移而变化的内存图像,以实现动画或自定义呈现。下面的示例显示了如何设置动画源并通知数据的改变(改编自 Garth Dickie 的 MemoryAnimationSourceDemo):

          int pixels[];
          MemoryImageSource source;

          public void init() {
              int width = 50;
              int height = 50;
              int size = width * height;
              pixels = new int[size];

              int value = getBackground().getRGB();
              for (int i = 0; i < size; i++) {
                  pixels[i] = value;
              }

              source = new MemoryImageSource(width, height, pixels, 0, width);
              source.setAnimated(true);
              image = createImage(source);
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值