「java图片大」Java图片大小改不了

博主:adminadmin 2022-12-03 07:48:08 99

今天给各位分享java图片大的知识,其中也会对Java图片大小改不了进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!

本文目录一览:

java thumbnails压缩图片占用内存过大

缩小即可。javathumbnails压缩图片占用内存过大的解决办法:

1、打开压缩图网站,点击选择图片压缩按钮。

2、图片上传前网站默认的压缩等级是70,图片上传后会自动按照当前设置的压缩等级进行压缩,如果压缩后的大小不合要求,可再次设置图片的宽高尺寸、压缩等级等参数,宽高留空时默认按照原图尺寸进行压缩,压缩等级越小则压缩后的图片体积越小,最后点击开始压缩按钮重新压缩。

3、图片压缩后,我们就能明显的看到图片压缩后的体积缩小了很多,点击“保存图片”即可。

Javase中要显示一个图片,但是图片尺寸太大了,如何让图片能完全显示在规定区域内

我之前有个源码丢失了,反编译后是这样子的。

大致就是先通过 Java Advanced Image IO (JAI, 在 Oracle 上下载) 把图片读取到内存,然后缩放后设置成 ImageIcon 显示到一个 Panel 上。直接让 Swing 自己读取图片时好像不会自动缩放的。

FileInputStream input = new FileInputStream(path);

BufferedImage image = ImageIO.read(input);

image = scale(image, width, max);

 ProductFrame.this.setIcon(new ImageIcon(image));

 

 private BufferedImage scale(BufferedImage image, int from, int to)

    {

        if(from  to)

        {

            double scale = (double)to / (double)from;

            ParameterBlock pb = new ParameterBlock();

            pb.addSource(image);

            pb.add(scale);

            pb.add(scale);

            pb.add(0.0D);

            pb.add(0.0D);

            RenderingHints qualityHints = new RenderingHints(RenderingHints.KEY_RENDERING, RenderingHints.VALUE_RENDER_QUALITY);

            RenderedOp resizedImage = JAI.create("SubsampleAverage", image, Double.valueOf(scale), Double.valueOf(scale), qualityHints);

            return resizedImage.getAsBufferedImage();

        } else

        {

            return image;

        }

    }

JAVA改变图片大小,该怎么处理

/**

* 图片缩放

*

* @param image 源图像对象。

* @param xscale 图像 x 轴(宽度)上的的缩放比例。

* @param yscale 图像 y 轴(高度)上的的缩放比例。

* @return 缩放后的图像对象。

*/

public static BufferedImage zoomImage(BufferedImage image, double xscale, double yscale) {

int width = (int) ((double) image.getWidth() * xscale);

int height = (int) ((double) image.getHeight() * yscale);

AreaAveragingScaleFilter areaAveragingScaleFilter = new AreaAveragingScaleFilter(width, height);

FilteredImageSource filteredImageSource = new FilteredImageSource(image.getSource(), areaAveragingScaleFilter);

BufferedImage result = new BufferedImage(width, height, BufferedImage.TYPE_INT_RGB);

Graphics g = result.getGraphics();

Canvas canvas = new Canvas();

g.drawImage(canvas.createImage(filteredImageSource), 0, 0, null);

return result;

}

java上传图片变为什么变大了十几倍,请大神帮忙看看是怎么回事。

在客户端,你没有把图片数据读入到缓冲区中,需要改一下。

原代码:

while ((len = fis.read()) != -1) {

os.write(buf, 0, len);

}

改成:

while ((len = fis.read(buf)) != -1) {

os.write(buf, 0, len);

}

java如何修改图片大小

截取点代码片断,你自己看着改

修改图片大小用getScaledInstance方法

BufferedImage bimg = null;

Image img = null;

int width, height;

try {

bimg = ImageIO.read(u);

if(bimg.getWidth()  bimg.getHeight())

{

width = 40;

height = bimg.getHeight() * width / bimg.getWidth();

}

else

{

height = 40;

width = bimg.getWidth() * height / bimg.getHeight();

}

img = bimg.getScaledInstance(width, height, Image.SCALE_DEFAULT);

pre_image = bimg.getScaledInstance(width * 10, height * 10, Image.SCALE_DEFAULT);

} catch (IOException e) {

e.printStackTrace();

}

java图片大的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于Java图片大小改不了、java图片大的信息别忘了在本站进行查找喔。

The End

发布于:2022-12-03,除非注明,否则均为首码项目网原创文章,转载请注明出处。