首页 > 编程知识 正文

java图片失真问题,如何解决图片失真

时间:2023-12-27 22:26:05 阅读:323568 作者:ZBDZ

本文目录一览:

怎么用java代码放大或缩小图片不失真。

放大图像不会导致失真,而缩小图像将不可避免的失真。

Java中也同样是这样。

但java提供了4个缩放的微调选项。

image.SCALE_SMOOTH

//平滑优先

image.SCALE_FAST//速度优先

image.SCALE_AREA_AVERAGING

//区域均值

image.SCALE_REPLICATE

//像素复制型缩放

image.SCALE_DEFAULT

//默认缩放模式

调用方法

Image

new_img=old_img.getScaledInstance(1024,

768,

Image.SCALE_SMOOTH);

得到一张缩放后的新图。

java旋转照片颜色失真太大,求指导

代码不完整,测试不了。

/**

* 旋转图片为指定角度

*

* @param bufferedimage

* 目标图像

* @param degree

* 旋转角度

* @return

*/

public static BufferedImage rotateImage(final BufferedImage bufferedimage, final int degree){

int w= bufferedimage.getWidth();// 得到图片宽度。

int h= bufferedimage.getHeight();// 得到图片高度。

int type= bufferedimage.getColorModel().getTransparency();// 得到图片透明度。

BufferedImage img;// 空的图片。

Graphics2D graphics2d;// 空的画笔。

(graphics2d= (img= new BufferedImage(w, h, type)).createGraphics()).setRenderingHint( RenderingHints.KEY_INTERPOLATION, RenderingHints.VALUE_INTERPOLATION_BILINEAR);

graphics2d.rotate(Math.toRadians(degree), w / 2, h / 2);// 旋转,degree是整型,度数,比如垂直90度。

graphics2d.drawImage(bufferedimage, 0, 0, null);// 从bufferedimagecopy图片至img,0,0是img的坐标。

graphics2d.dispose();

return img;// 返回复制好的图片,原图片依然没有变,没有旋转,下次还可以使用。

}

看看别人的写法

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就看着办吧

图片失真,是什么意思?

j具体意思如下:

1、跟原来的有出入(指声音、形象或语言内容等)。

2、无线电技术中指输出信号与输入信号不一致。如音质变化、图像变形等。

3、失真又称“畸变,指信号在传输过程中与原有信号或标准相比所发生的偏差。

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。