通过图片的IO流穿入, 即可输出一张同样高和宽, 大小小很多的图片!!
/**
* 穿入Inputstream图片IO流即可
*
* @param stream
*/
public void SavePngImage(InputStream stream) {
int w = 0;
int h = 0;
BufferedImage bufImg = null;
try {
BufferedImage image = ImageIO.read(stream);
w = image.getWidth();
h = image.getHeight();
bufImg = new BufferedImage(w, h, BufferedImage.TYPE_INT_RGB);
//bufImg = ImageUtil.createCompatibleImage(w, h, Transparency.OPAQUE);
Graphics2D g2d = bufImg.createGraphics();
//File file = new File("e:\\2.gif");
//javax.imageio.ImageIO.read(file);
g2d.drawImage(image, 0, 0, null);
g2d.dispose();
} catch (IOException e) {
e.printStackTrace();
}
//输出的图片路径
saveImage(bufImg, "c:/test.jpg");
}
// 保存图片
public void saveImage(BufferedImage img, String path) {
try {
String extension = path.substring(path.lastIndexOf('.') + 1);
extension = isFormatSupported(extension) ? extension : "png";
ImageIO.write(img, extension, new File(path));
} catch (Exception e) {
e.printStackTrace();
}
}
// 判断ImageIO是否支持指定的图片格式
public static boolean isFormatSupported(String format) {
for (String f : ImageIO.getWriterFormatNames()) {
if (f.equalsIgnoreCase(format)) { return true; }
}
return false;
}
public static void main(String[] args){
File file = new File("c:/input.jpg");
xxx.SavePngImage(file.getInputStream());
}
分享到:
相关推荐
主要介绍了java中ImageReader和BufferedImage获取图片尺寸实例,具有一定借鉴价值,需要的朋友可以参考下
通过ImageIO读取文件,用BufferedImage设置图片大小,再绘制出图片,最后生成图片文件保存到相应位置
所实现的效果是首先给你四张已经由ps处理过的图片,然后通过重新将这四张图还原
BufferedImage—-生成一张验证码图片 最近看了一下BufferedImage类的使用,感觉挺好玩的,BuferedImage类是Image这个抽象类的实现类,作为一个带缓冲区(Buffered,看这个单词好像就是缓冲的意思吧)图像类,主要是在...
这个类可以实现Image到BufferedImage的向下转换,方便各位开发各类需要图像处理的程序。
public static BufferedImage iplToBufImgData(IplImage ipl,BufferedImage image ) public static IplImage BufImgToIplData(IplImage ipl,BufferedImage bi)
BufferedImage 保存 BMP格式 文件
java 图片放大缩小 import java.awt.Image; import java.awt.image.BufferedImage; import java.io.File; import java.io.FileOutputStream; import java.io.IOException; import javax.imageio.ImageIO; import ...
使用BitmapFactory加载图片时,如果图片过大可能引起OutOfmemory溢出的问题。解决办法。
用java如何把图片处理到指定大小 切割程序如下: public void cut(String srcImageFile,FileOutputStream fileout, int w, int h, int x1, int y1, int sw, int sh) { // TODO Auto-generated method stub try ...
内含java图片旋转的代码和注释
java实现的图片防篡改功能,采用图片hash生成唯一标识,再进行比对,判断图片是否被篡改过,可运行源码
主要介绍了java 使用ImageIO.writer从BufferedImage生成jpeg图像遇到问题总结及解决的相关资料,需要的朋友可以参考下
在该方法中,使用 ImageIO.read(file) 读取目标图片和水印图片,然后使用 ImageIO.write(bufferedImage, ext, file) 将目标图片保存到磁盘上。 Java 生成水印图片技术可以广泛应用于图片保护和图片处理领域,如图片...
BufferedImage类是Image的实现类,是可以把图片加载到内存的缓冲类,我写的代码中就基本上都是基于该类实现对图片的操作。 图片加载 Thumbnails Thumbnails是谷歌开源的一套图片工具类 当我需要把本地图片加载进
后端返回图片数据流,打印结果是乱码,如下: Chrome浏览器的preview中可以看到二维码(图片),如下: 解析思路: 尝试用二进制大对象Blob解析,然后生成图片的URL,代码如下: // QRCode 为后端接口返回的图片...
java生产文字图片,消除线段的锯齿状边缘。文字更加光滑
本篇文章是对在android中,如何从JPEG生成BufferedImage的解决方法进行了详细的分析介绍,需要的朋友参考下
使用java+OpenCV进行图片对比并标记差异部分 1,如果报错,就把 opencv_java470.dll 文件放进 C:\Windows\System32 下 2,需要jdk11
主要介绍了java中如何BufferedImage判断图像通道顺序并转RGB/BGR的相关资料,需要的朋友可以参考下