- 浏览: 93160 次
- 性别:
- 来自: 深圳
文章分类
最新评论
-
grhglj:
能详细一点吗?都加到哪儿呀。
struts2.0中使用图形验证码 -
shingo7:
jotm哪来的2.3版
Spring引用Tomcat的 JTA事务 -
blogaaa:
这样配置完后,事务不能正常回滚,在同一个action中插入记录 ...
Spring引用Tomcat的 JTA事务
懒得多说,直接代码了。。。。
import java.awt.Color;
import java.awt.image.BufferedImage;
import java.io.File;
import java.io.IOException;
import javax.imageio.IIOImage;
import javax.imageio.ImageIO;
import javax.imageio.ImageWriteParam;
import javax.imageio.ImageWriter;
import javax.imageio.stream.ImageOutputStream;
import com.sun.media.imageioimpl.plugins.tiff.TIFFImageWriterSpi;
public class TiffTest {
public static void main(String[] args) throws IOException {
BufferedImage bi = ImageIO.read(new File("D:/images/00.jpg"));// 通过imageio将图像载入
int h = bi.getHeight();// 获取图像的高
int w = bi.getWidth();// 获取图像的宽
int[][] gray = new int[w][h];
for (int x = 0; x SW) {
int max = new Color(255, 255, 255).getRGB();
nbi.setRGB(x, y, max);
} else {
int min = new Color(0, 0, 0).getRGB();
nbi.setRGB(x, y, min);
}
}
}
TIFFImageWriterSpi tiffws = new TIFFImageWriterSpi();
ImageWriter writer = tiffws.createWriterInstance();
ImageWriteParam param = writer.getDefaultWriteParam();
param.setCompressionMode(ImageWriteParam.MODE_EXPLICIT);
param.setCompressionType("CCITT T.6");
param.setCompressionQuality(0f);
File outFile = new File("D:/images/二值化后_有压缩.tiff");
ImageOutputStream ios = ImageIO.createImageOutputStream(outFile);
writer.setOutput(ios);
writer.write(null, new IIOImage(nbi, null, null), param);
}
public static int getGray(int rgb) {
Color c = new Color(rgb);
int r = c.getRed();
int g = c.getGreen();
int b = c.getBlue();
int top = (r + g + b) / 3;
return (int) (top);
}
/**
* 自己加周围8个灰度值再除以9,算出其相对灰度值
* @param gray
* @param x
* @param y
* @param w
* @param h
* @return
*/
public static int getAverageColor(int[][] gray, int x, int y, int w, int h) {
int rs = gray[x][y] + (x == 0 ? 255 : gray[x - 1][y]) + (x == 0 || y == 0 ? 255 : gray[x - 1][y - 1])
+ (x == 0 || y == h - 1 ? 255 : gray[x - 1][y + 1]) + (y == 0 ? 255 : gray[x][y - 1])
+ (y == h - 1 ? 255 : gray[x][y + 1]) + (x == w - 1 ? 255 : gray[x + 1][y])
+ (x == w - 1 || y == 0 ? 255 : gray[x + 1][y - 1])
+ (x == w - 1 || y == h - 1 ? 255 : gray[x + 1][y + 1]);
return rs / 9;
}
/**
* 转换JPG图片文件格式为TIFF
* @param srcFile File 要转换格式的原文件
* @param resFile File 转换格式后的目标文件
* @throws IOException 抛出IO异常
*/
public static InputStream convertImageToTIFF() throws IOException {
long a = System.currentTimeMillis();
InputStream fis = pressImage();
ByteArrayOutputStream fos = new ByteArrayOutputStream();
TIFFEncodeParam encodeParam = new TIFFEncodeParam();
encodeParam.setCompression(TIFFEncodeParam.COMPRESSION_DEFLATE);
JPEGDecodeParam decodeParam = new JPEGDecodeParam();
ImageDecoder decoder = ImageCodec.createImageDecoder("JPEG", fis, decodeParam);
RenderedImage image = decoder.decodeAsRenderedImage();
ImageEncoder encoder = ImageCodec.createImageEncoder("TIFF", fos, encodeParam);
encoder.encode(image);
InputStream is = new ByteArrayInputStream(fos.toByteArray());
System.out.println("convertImageToTIFF -- "+(System.currentTimeMillis() - a));
return is;
}
/**
* 转换ImageOutputStream 为byte[] */
public static byte[] getBytes(ImageOutputStream ios) throws Exception {
ByteArrayOutputStream bos = new ByteArrayOutputStream(255);
long counter = 0;
try {
ios.seek(0);
} catch (IOException e1) {
e1.printStackTrace();
}
while (true) {
try {
bos.write(ios.readByte());
counter++;
} catch (EOFException e) {
System.out.println("End of Image Stream");
break;
} catch (IOException e) {
System.out.println("Error processing the Image Stream");
break;
}
}
byte[] retValue = bos.toByteArray();
return retValue;
}
/**
* 合并图片 */
public final static InputStream pressImage() {
try {
long a = System.currentTimeMillis();
int x = 30;
int y = 50;
float alpha = 1f;
BufferedImage bufferedImage = createBufferedImage Graphics2D g = bufferedImage.createGraphics();
int width_1 = waterImage.getWidth(null);
int height_1 = waterImage.getHeight(null);
g.setComposite(AlphaComposite.getInstance(AlphaComposite.SRC_ATOP, alpha));
g.drawImage(waterImage, x, y, width_1 +100, height_1+100, null); // 水印文件结束
g.drawImage(waterImage, x+600, y, width_1 +100, height_1+100, null); // 水印文件结束
g.drawImage(waterImage, x+1100, y, width_1 +100, height_1+100, null); // 水印文件结束
g.drawImage(waterImage, x, y+600, width_1 +100, height_1+100, null); // 水印文件结束
g.drawImage(waterImage, x+600, y+600, width_1 +100, height_1+100, null); // 水印文件结束
g.dispose();
ByteArrayOutputStream os = new ByteArrayOutputStream();
ImageIO.write(bufferedImage, PICTRUE_FORMATE_JPG, os);
//File f = new File("D:/workspaceFlex/FlexTiff/src/assets/images/12.jpg");
//ImageIO.write(bufferedImage, PICTRUE_FORMATE_JPG, f);
InputStream is = new ByteArrayInputStream(os.toByteArray());
System.out.println("pressImage -- "+(System.currentTimeMillis() - a));
return is;
} catch (IOException e) {
e.printStackTrace();
}
return null;
}
private static BufferedImage createBufferedImage() {
BufferedImage bimg = null;
try {
bimg = ImageIO.read(new File("D:/workspaceFlex/FlexTiff/src/assets/images/570119458887_20120907210013_b.tif"));
} catch (IOException e) {
e.printStackTrace();
}
return bimg;
}
private final static Image waterImage = createBufferedImage();
}
发表评论
-
Drools与Spring集成 登录测试
2013-07-12 15:27 0转至: http://justsee.iteye.com/b ... -
Drools入门-----------环境搭建,分析Helloworld
2013-07-12 15:20 0转至: http://justsee.iteye.com/b ... -
H2学习
2013-07-12 15:11 0package test.h2; import ja ... -
BlockingQueue队列学习
2013-10-17 10:16 756package test; import java ... -
一个多线程计算器的实现
2013-07-12 14:56 0package test; import java.util ... -
JRobin Core学习
2012-12-04 14:29 4026原文地址: http://www.micmiu.com/ent ... -
Memcached学习——(四)
2012-11-28 17:11 0原文地址: http://snowolf.iteye.com/ ... -
Memcached学习——(三)
2012-11-28 17:10 0原文地址: http://snowolf ... -
Memcached学习——(二)
2012-11-28 17:08 967原文地址: http://snowolf.iteye.com/ ... -
Memcached学习——(一)
2012-11-28 17:07 1016原文地址: http://snowolf.iteye.com/ ... -
redis学习
2012-11-28 17:03 925原文地址:http://snowolf.iteye.com/b ... -
基于Spring可扩展Schema提供自定义配置支持(spring配置文件中 配置标签支持)
2012-11-28 16:55 780原文地址:http://www.cnblogs.com/jif ... -
全面掌握Java的异常处理机制
2009-03-05 17:17 961你觉得自己是一个Java专 ... -
java.lang包概述
2009-03-05 17:02 131944.1. 接口 java.lang.Appendab ... -
select下拉列表动态显示选择公司及部门信息——级联
2008-11-25 12:29 1276//=================公司类方法======= ... -
人民币大小写转
2008-11-25 12:26 1069String HanDigiStr[] = new Strin ... -
身份证号转换15位与18位
2008-11-25 12:24 1601//开始 15位到18位的身份证号转换 //身份证号码由 ... -
使ApplicationResources.properties支持中文
2008-11-25 12:15 1305使ApplicationResources.propertie ... -
利用XMLBean轻轻松松读写XML
2008-11-25 12:11 933一、关于XML解析 XML在Java应用程序里变得越来越 ... -
JAVA获得网卡MAC地址
2008-11-25 12:06 1072package test; import java.io.B ...
相关推荐
通过JAI包处理TIFF相关文件,将图片转换TIFF文件等
java的jar包 jai 图片处理 jai_codec.jar、jai_core.jar、mlibwrapper_jai.jar
处理图片格式的转换,java图片处理jai所需要的jar包,分享
使用JAI扩展Java Image的功能. 类似代码source = JAI.create("fileload", .. );需要引用到的jar包。mvn引入依赖为<groupId>javax.media</groupId><artifactId>jai_codec</artifactId><version>1.1.3</version>...
jai.jar图像处理,主要处理常见的图像格式文件。
JAI工具,操作图片资源,java通过这个工具能将cmyk的bufferedImage生成tiff格式
赠送jar包:jai-imageio-core-1.4.0.jar; 赠送原API文档:jai-imageio-core-1.4.0-javadoc.jar; 赠送源代码:jai-imageio-core-1.4.0-sources.jar; 赠送Maven依赖信息文件:jai-imageio-core-1.4.0.pom; 包含...
java依赖jai-imageio,非常方便地实现jpg图片转为raw格式图片,raw格式图片转为jpg图片
用于tif或是tiff转成jpg,png类型文件
JAI 中的 Image I/O Tools,支持更多图片类型,例如JPEG-LS, JPEG2000, 和 TIFF。 主页:https://jai-imageio.dev.java.net/。JAI 是一个关于图像处理的框架,很庞大, 其中仅仅jai-imageio是关于图像I/O的,其他的...
jai是丰富的图形处理类工具,用来可以方便用来识别bmp。jpg等格式图片内容
java对tif、png图片特殊处理如旋转jar包
JAI核心代码,图像处理高手,包含很多图像处理技术,JAI 图片处理JAR包。包含jai_codec-1.1.3.jar与jai_core-1.1.3.jar的jar包
jai 图片处理 jai_codec.jar、jai_core.jar、mlibwrapper_jai.jar
tiff图片转JPG文件所需jar包,jai_codec-1.1.3.jar 和 jai_core.jar 核心包 亲测可用!
把JPG、PNG、BMP等格式的图片转为TIF格式文件的依赖包
JAI 图片处理JAR包。包含jai_codec-1.1.3.jar与jai_core-1.1.3.jar的jar包
3个jar包: jai_core-1.1.3.jar jai_imageio.jar jai-codec-1.1.3.jar
jai_codec-1.1.3.jar jai_core.jar jai_imageio.jar jimi-1.0.jar
java高级图片处理工具 jai-imageio,可以修改图片分辨率等