java 像素合成_Java image的文件获取、显示、像素分解、合成

该博客介绍了如何使用Java进行图像处理,包括读取图像文件、显示图像、获取像素RGB值并进行分解和合成。通过示例代码展示了如何创建和操作BufferedImage对象,进行像素级别的操作,如分解RGB、存盘和创建图像。
摘要由CSDN通过智能技术生成

【转】Java image的文件获取、显示、像素分解、合成

实现image的文件获取、显示、像素分解、合成。

/*

* To change this template, choose Tools | Templates

* and open the template in the editor.

*/

package graph;

import java.awt.Color;

import java.awt.Graphics;

import java.awt.Graphics2D;

import java.awt.GraphicsConfiguration;

import java.awt.GraphicsDevice;

import java.awt.GraphicsEnvironment;

import java.awt.HeadlessException;

import java.awt.Image;

import java.awt.Toolkit;

import java.awt.Transparency;

import java.awt.image.*;

import java.io.*;

import javax.imageio.*;

import javax.swing.ImageIcon;

import javax.swing.JFrame;

import javax.swing.JPanel;

/**

* 常用图像处理

* 作者:何险峰

*

* 2008-10-25

*/

public class Img {

/**

* 读入图片文件

* @param fnm

* @return BufferedImage

*/

public BufferedImage getImg(String fnm) {

BufferedImage bi = null;

try {

bi = ImageIO.read(new File(fnm));

} catch (Exception e) {

e.printStackTrace();

}

return bi;

}

/**

* 图片存盘

* @param fnm

* @param img

*/

public void mkImgFile(String fnm, BufferedImage img) {

try {

ImageIO.write(img, "jpg", new File(fnm));

} catch (Exception e) {

e.printStackTrace();

}

}

/**

* 返回象元的RGB数组

* @param image

* @param x

* @param y

* @return int[3] RGB数组

*/

public static int[] getSplitRGB(BufferedImage image, int x, int y) {

int[] rgb = null;

if (image != null && x < image.getWidth() && y < image.getHeight()) {

rgb = new int[3];

int pixel = image.getRGB(x, y);

rgb = getSplitRGB(pixel);

}

return rgb;

}

/**

* 返回象元的RGB数组

* @param pixel

* @return

*/

public static int[] getSplitRGB(int pixel) {

int[] rgbs = new int[3];

rgbs[ 0] = (pixel & 0xff0000) &g

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值