怎样使用java读取image
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了怎样使用java读取image相关的知识,希望对你有一定的参考价值。
参考技术A 这是一个图片压缩代码,以前入职的时候照片必须得20k一下,所以我把100多k的照片压缩成了16k,你可以看一下package com.atee.test;
import java.awt.image.BufferedImage;
import java.awt.image.ColorModel;
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import javax.imageio.IIOImage;
import javax.imageio.ImageIO;
import javax.imageio.ImageWriteParam;
import javax.imageio.ImageWriter;
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 = ImageIO.getImageWritersByFormatName("jpg").next();
imgWriteParams = new javax.imageio.plugins.jpeg.JPEGImageWriteParam(
null);
// 要使用压缩,必须指定压缩方式为MODE_EXPLICIT
imgWriteParams.setCompressionMode(imgWriteParams.MODE_EXPLICIT);
// 这里指定压缩的程度,参数qality是取值0~1范围内,
imgWriteParams.setCompressionQuality((float) 0.7);
imgWriteParams.setProgressiveMode(imgWriteParams.MODE_DISABLED);
ColorModel colorModel =ImageIO.read(new File(srcFilePath)).getColorModel();// ColorModel.getRGBdefault();
// 指定压缩时使用的色彩模式
// imgWriteParams.setDestinationType(new javax.imageio.ImageTypeSpecifier(
// colorModel, colorModel.createCompatibleSampleModel(16, 16)));
imgWriteParams.setDestinationType(new javax.imageio.ImageTypeSpecifier(
colorModel, colorModel.createCompatibleSampleModel(16, 16)));
try
if (isBlank(srcFilePath))
return false;
else
file = new File(srcFilePath);System.out.println(file.length());
src = ImageIO.read(file);
out = new FileOutputStream(descFilePath);
imgWrier.reset();
// 必须先指定 out值,才能调用write方法, ImageOutputStream可以通过任何
// OutputStream构造
imgWrier.setOutput(ImageIO.createImageOutputStream(out));
// 调用write方法,就可以向输入流写图片
imgWrier.write(null, new IIOImage(src, null, null),
imgWriteParams);
out.flush();
out.close();
catch (Exception e)
e.printStackTrace();
return false;
return true;
public static boolean isBlank(String string)
if (string == null || string.length() == 0 || string.trim().equals(""))
return true;
return false;
public static void main(String[] args) throws IOException
compressPic("C:\\358x441 - 111.jpg", "C:\\358x441 - 333.jpg");
本回答被提问者和网友采纳 参考技术B 前台:
<img border="0" width="1000"height="600" src="docInfo.do?method=XXX>" />
后台:
if (StringUtils.isNotBlank(XXXX))
DocInfo docInfo = new DocInfo();
byte[] docFile = null;
//查询图片的sql,在这列出来
String sql = "";
docInfo = docInfoService.getFile(sql);
if (null != docInfo)
docFile = docInfo.getDocFile();
if (null != docFile)
ServletOutputStream sos;
try
sos = response.getOutputStream();
sos.write(docFile);
sos.flush();
catch (IOException e)
e.printStackTrace();
return null;
求助关于java调用摄像头拍照怎样禁止虚拟摄像头拍照
情况是这样的...拍照怎样写能禁止虚拟摄像头被java调用进行假的拍照,拍照功能要用什么去怎么样写...有什么解决办法么...感谢...
这个问题和java语言本身没啥关系。首先看你是用什么读取的摄像头来获得照片。比如说你用flash来读取摄像头获得照片,那么有相关的api获得摄像头列表(此时的摄像头列表是全部的,包括虚拟摄像头的)
但是,你可以读取本地真实的摄像头(bs模式请用ocs控件读取,读取方式参照System.ManagementObject),然后比较真实的摄像头和现在正在拍照使用的摄像头即可。
真实实践过 望采纳。 参考技术A 额,这个有难度。
以上是关于怎样使用java读取image的主要内容,如果未能解决你的问题,请参考以下文章
java poi往excel里面插图片,怎样让图片在指定单元格范围内居中
Java 读取/缩小图片:javax.imageio.IIOException: Unsupported Image Type
C#winform如果在数据库中存入的是图片名字,怎样用datagridview读取并显示,急求呀,大哥大姐们帮个忙吧!