您的位置:

java处理图片,java处理图片的库

本文目录一览:

JAVA关于图像处理问题

读取控制台输入的路径

判断文件是否存在

Y: - 2

N:在命令行输出"Sorry, I cannot find that file."并退出

读取图片

分析图片像素,按要求将多余的像素截掉

创建一个新图片,像素为原图片的1/4大小

合并像素,将4个像素通过给定的条件计算RGB值合并为1个像素

输出图片,路径为原始图片路径,文件名按要求做处理

不知仁兄的水平在啥程度,整个流程如上列出,哪一步不明确的可以追问

java直接保存的图片不清楚,请问需要如何处理

JPEGImageEncoder encoder = JPEGCodec.createJPEGEncoder(out);

JPEGEncodeParam param = encoder.getDefaultJPEGEncodeParam(image);

param.setQuality(1f, false);

encoder.setJPEGEncodeParam(param);

encoder.encode(image);

out.close();

public void setQuality(float quality, boolean forceBaseline)

quality取值在 1.0 到 0.0 之间

JDK6 里面是可以使用的,JDK7就看着办吧

java图片处理

下一个图像处理库,简单的,用java语言可以直接调用的,SimpleImage

如果有复杂的需求,用jni调用opencv(c++的dll形式,必须用jni才能调用)

用java处理图片,使图片像素和长宽成比例变小,请各位高手帮忙解决一下,急

90 * 90的图片

应该是分成9个10 * 10的吧

static Image createImage(Image image, int x, int y, int width, int height, int transform)

Image类里面自带方法创建分割图片

可以这样创建:

Image imgBase = Image.createImage("/*.png");

Image img[] = new Image[9];

for(int i = 0; i 9; i++)

{

img[i] = Image.createImage(imgBase, (i % 3) * 10, (i / 3) * 10, 10, 10, Sprite.TRANS_NONE); //参数分别是:源图片,截取的X坐标,Y坐标,宽,高,翻转类型

}

这样就可以了

当然以上代码需要放在try里面

如果想分成其他的小图片,可以按照需要变动坐标和宽高等参数

如何用Java对图片进行马赛克处理?

把图片压缩成32*32这个不难,java有这样的类提供了方法

BufferedImage bi = new BufferedImage(w * 2 / scale, h * 2 / scale, bm.getType());//画布大小

Graphics2D g2 = bi.createGraphics();

g2.drawImage(bm, 0, 0, w * 2 / scale, h * 2 / scale, null); //绘制缩小后的图

// 转换成JPEG图像格式

JPEGImageEncoder encoder = JPEGCodec.createJPEGEncoder(bos);

JPEGEncodeParam jpeg = encoder.getDefaultJPEGEncodeParam(bi);

jpeg.setQuality(1f, false);

encoder.setJPEGEncodeParam(jpeg);

encoder.encode(bi);

byte[] data = bos.toByteArray();

但是要减少颜色数的话,这个比较麻烦,这个首先需要知道图片中

颜色空间,比如16色,32色等,你需要读取图片文件中的内容,然后根据图片头的信息

读取每个像素的RGB值(如果是RGB空间),并对每一个像素进行 颜色 设置