
应该是路径问题。
把你要显示的放在你的Test类里,
再把 :con = new ImageIcon("D:\\java程序\\1jpg");
改成 : icon = new ImageIcon("/1jpg");
你试试,看行不。
你使用urlConnectiongetContentLength()) 试一下吧, 不是所有的服务器都给你长度信息, 你给的url就不支持。 一般说来不读完文件不知道长度。另外: 你可以 用inavailable()获取本次读时缓冲区内容的长度。
>
这是一个压缩代码,以前入职的时候照片必须得20k一下,所以我把100多k的照片压缩成了16k,你可以看一下
package comateetest;
import javaawtimageBufferedImage;
import javaawtimageColorModel;
import javaioFile;
import javaioFileOutputStream;
import javaioIOException;
import javaximageioIIOImage;
import javaximageioImageIO;
import javaximageioImageWriteParam;
import javaximageioImageWriter;
public class ImageShrink {
public static boolean compressPic(String srcFilePath, String descFilePath) throws IOException {
File file = null;
BufferedImage src = null;
FileOutputStream out = null;
ImageWriter imgWrier;
ImageWriteParam imgWriteParams;
// 指定写的方式为 jpg
imgWrier = ImageIOgetImageWritersByFormatName("jpg")next();
imgWriteParams = new javaximageiopluginsjpegJPEGImageWriteParam(
null);
// 要使用压缩,必须指定压缩方式为MODE_EXPLICIT
imgWriteParamssetCompressionMode(imgWriteParamsMODE_EXPLICIT);
// 这里指定压缩的程度,参数qality是取值0~1范围内,
imgWriteParamssetCompressionQuality((float) 07);
imgWriteParamssetProgressiveMode(imgWriteParamsMODE_DISABLED);
ColorModel colorModel =ImageIOread(new File(srcFilePath))getColorModel();// ColorModelgetRGBdefault();
// 指定压缩时使用的色彩模式
// imgWriteParamssetDestinationType(new javaximageioImageTypeSpecifier(
// colorModel, colorModelcreateCompatibleSampleModel(16, 16)));
imgWriteParamssetDestinationType(new javaximageioImageTypeSpecifier(
colorModel, colorModelcreateCompatibleSampleModel(16, 16)));
try {
if (isBlank(srcFilePath)) {
return false;
} else {
file = new File(srcFilePath);Systemoutprintln(filelength());
src = ImageIOread(file);
out = new FileOutputStream(descFilePath);
imgWrierreset();
// 必须先指定 out值,才能调用write方法, ImageOutputStream可以通过任何
// OutputStream构造
imgWriersetOutput(ImageIOcreateImageOutputStream(out));
// 调用write方法,就可以向输入流写
imgWrierwrite(null, new IIOImage(src, null, null),
imgWriteParams);
outflush();
outclose();
}
} catch (Exception e) {
eprintStackTrace();
return false;
}
return true;
}
public static boolean isBlank(String string) {
if (string == null || stringlength() == 0 || stringtrim()equals("")) {
return true;
}
return false;
}
public static void main(String[] args) throws IOException {
compressPic("C:\\358x441 - 111jpg", "C:\\358x441 - 333jpg");
}
}
以上就是关于JAVA 图片大小设置全部的内容,包括:JAVA 图片大小设置、java如何拿到网络文件的大小、怎样使用java读取image等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)