「java图片大」Java图片大小改不了
今天给各位分享java图片大的知识,其中也会对Java图片大小改不了进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!
本文目录一览:
- 1、java thumbnails压缩图片占用内存过大
- 2、Javase中要显示一个图片,但是图片尺寸太大了,如何让图片能完全显示在规定区域内
- 3、JAVA改变图片大小,该怎么处理
- 4、java上传图片变为什么变大了十几倍,请大神帮忙看看是怎么回事。
- 5、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图片大的信息别忘了在本站进行查找喔。
发布于:2022-12-03,除非注明,否则均为
原创文章,转载请注明出处。