package com.ebay.test1;
import java.awt.image.RenderedImage;
import java.io.ByteArrayInputStream;
import java.io.ByteArrayOutputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import javax.imageio.ImageIO;
import javax.media.jai.JAI;
import javax.media.jai.RenderedOp;
import org.junit.Test;
import com.sun.media.jai.codec.ImageCodec;
import com.sun.media.jai.codec.ImageDecoder;
import com.sun.media.jai.codec.ImageEncoder;
import com.sun.media.jai.codec.JPEGEncodeParam;
public class Snippet {
@Test
public void testTif2JPG2(){
try{
String filename = "F:\\Downloads\\CCITT_2.TIF";
String jpegFileName = "F:\\Downloads\\CCITT_2.JPG";
RenderedOp source = JAI.create("fileload", filename);
FileOutputStream stream = null;
stream = new FileOutputStream(jpegFileName );
com.sun.media.jai.codec.JPEGEncodeParam JPEGparam = new
com.sun.media.jai.codec.JPEGEncodeParam();
ImageEncoder encoder =
ImageCodec.createImageEncoder("jpeg",stream,JPEGparam);
encoder.encode(source);
}catch(Exception e){
e.printStackTrace();
}
}
@Test
public void testTif2JPG3(){
try{
String filename = "F:\\Downloads\\CCITT_2.TIF";
String jpegFileName = "F:\\Downloads\\CCITT_2.JPG";
FileOutputStream stream = null;
stream = new FileOutputStream(jpegFileName );
byte[] b = getBytesFromFile(new File(filename));
InputStream bais = new ByteArrayInputStream(b);
ImageDecoder decoder = ImageCodec.createImageDecoder("tiff", bais, null);
RenderedImage ri = decoder.decodeAsRenderedImage();
// RenderedOp source = JAI.create("TIFF", bais);
ByteArrayOutputStream baos = new ByteArrayOutputStream();
JPEGEncodeParam JPEGparam = new JPEGEncodeParam();
JPEGparam.setQuality(Float.MIN_VALUE);
ImageEncoder encoder = ImageCodec.createImageEncoder("jpeg",baos,JPEGparam);
encoder.encode(ri);
byte[] byteArray = baos.toByteArray();
FileOutputStream fos = new FileOutputStream(new File(jpegFileName));
fos.write(byteArray);
}catch(Exception e){
e.printStackTrace();
}
}
@Test
public void testTif2JPG4(){
try{
String filename = "F:\\Downloads\\CCITT_2.TIF";
String jpegFileName = "F:\\Downloads\\CCITT_2.JPG";
FileOutputStream stream = null;
stream = new FileOutputStream(jpegFileName );
byte[] b = getBytesFromFile(new File(filename));
InputStream bais = new ByteArrayInputStream(b);
ImageDecoder decoder = ImageCodec.createImageDecoder("tiff", bais, null);
RenderedImage ri = decoder.decodeAsRenderedImage();
ByteArrayOutputStream outputStream = new ByteArrayOutputStream();
ImageIO.write(ri, "JPEG", outputStream);
stream.write(outputStream.toByteArray());
}catch(Exception e){
e.printStackTrace();
}
}
// Returns the contents of the file in a byte array.
public static byte[] getBytesFromFile(File file) throws IOException {
InputStream is = new FileInputStream(file);
// Get the size of the file
long length = file.length();
// You cannot create an array using a long type.
// It needs to be an int type.
// Before converting to an int type, check
// to ensure that file is not larger than Integer.MAX_VALUE.
if (length > Integer.MAX_VALUE) {
throw new IllegalArgumentException("File is too big, can't support.");
}
// Create the byte array to hold the data
byte[] bytes = new byte[(int)length];
// Read in the bytes
int offset = 0;
int numRead = 0;
while (offset < bytes.length
&& (numRead=is.read(bytes, offset, bytes.length-offset)) >= 0) {
offset += numRead;
}
// Ensure all the bytes have been read in
if (offset < bytes.length) {
throw new IOException("Could not completely read file "+file.getName());
}
// Close the input stream and return bytes
is.close();
return bytes;
}
}
相关推荐
String jpgFilePath = "path_to_output_jpg_file.jpg"; // 读取TIFF图像 RenderedOp tiffImage = JAI.create("fileload", tiffFilePath); // 将TIFF图像转换为JPEG RenderedImage jpegImage = tiffImage....
FileInputStream fis = new FileInputStream("input.tif"); TIFFImageDecoder decoder = TIFFImageDecoder.create(fis, null); RenderedOp tiffImage = decoder.decodeAsRenderedImage(); // 创建JPEG编码参数 ...
5. **创建工具类和测试类**:为了方便复用和测试,我们可以创建一个名为`TifToJpg`的工具类,其中包含一个静态方法来执行上述转换过程。同时,创建一个`Demo`测试类,调用工具类的方法进行实际转换。 ```java ...
java操作tif文件切割jpg格式所需要用到的jar。该压缩包内含jai-imageio-core-1.4.0.jar。 tif源自kfb转换而来。 如你的代码业务也同样是kfb转jpg,请移步:...
在本场景中,"JAI - 将图片转为TIF格式的依赖包"指的是利用JAI来将常见的图片格式如JPEG (JPG)、Portable Network Graphics (PNG) 和Bitmap (BMP) 转换成Tagged Image File Format (TIFF)。TIFF是一种灵活的位图图像...
在IT领域,图像处理是一项常见的任务,涉及到各种格式之间的转换,比如从BMP(位图)格式转换为JPEG( JPG)格式,以及反向转换。本文将深入探讨这两种图像格式的特点,转换过程以及如何实现这一过程。 BMP(Bitmap...
java操作tif文件转换jpg格式所需要用到的jar。该压缩包内含jai_codec-1.1.3.jar和jai_core-1.1.3.jar。 tif源自kfb转换而来。 如你的代码业务也同样是kfb转jpg,请移步:...
"jpg转tif的所有jar包.7z" 提供了转换JPEG(jpg)格式图像到TIFF(tif)格式所需的Java库和代码示例。以下是关于这个主题的详细知识: 1. **JPEG与TIFF格式**: - **JPEG(Joint Photographic Experts Group)**:...
javax.media-jai_codec-1.1.3.jar 和 javax.media-jai_core-1.1.3.jar 将tif图片转换为jpeg图片。修复 java.lang.NoClassDefFoundError: com/sun/image/codec/jpeg/JPEGCodec ,由于这个类已经过时,在新版的OpenJDK...
本教程将重点讲解如何使用Java编程语言将tif(Tagged Image File Format)格式的图片转换为jpg(Joint Photographic Experts Group)格式。TIF是一种广泛用于专业图像领域的高压缩比格式,而JPEG则更适合网络分享和...
java tif转换包等jar jai-codec-1.1.3 jai_core-1.1.3 java tif转换包等jar ...jai_core-1.1.3java tif转换包等jar jai-codec-1.1.3 jai_core-1.1.3java tif转换包等jar jai-codec-1.1.3 jai_core-1.1.3 很难下
RenderedOp image = JAI.create("fileload", new String[]{"/path/to/input.jpg"}); BufferedImage bufferedImage = image.getAsBufferedImage(); // 写入图像 JAI.create("filestore", bufferedImage, "/path/...
在这个场景下,我们主要需要用到两个JAI的库:`jai_codec-1.1.3.jar`和`jai_core-1.1.3.jar`。这些库包含了处理TIFF和JPG所需的方法和类。 首先,确保在项目中正确导入这两个库。在Maven项目中,可以在pom.xml文件...
在实际应用中,如果你需要进行TIF图片转换或其他复杂的图像处理任务,这些JAI相关的库会非常有用。通过导入这些JAR文件到你的项目中,你可以利用JAI的强大功能来处理高分辨率的图像,或者执行需要高性能计算的图像...
描述中提到的“将tif转为jpg必须的包”,指的是在Java应用程序中,如果需要将TIFF图像转换为更常见的JPEG格式,就需要这两个JAR文件。JPEG格式通常用于网络传输和网页显示,因为其文件大小比TIFF小得多,但可能会有...
在给定的压缩包中,有两个核心的JAR文件:`jai_codec-1.1.3.jar` 和 `jai_core.jar`,它们对于处理特定格式的图像,特别是 TIFF 图片到 JPG 的转换至关重要。 1. **jai_codec-1.1.3.jar**: 这个JAR文件包含了Java...
标题提到的"jai包 包括jai_codec、jai_core、mlibwrapper_jai"分别代表JAI的不同组件: 1. **jai_codec.jar**:这个包提供了图像编码和解码的能力。它包含了对多种图像格式(如JPEG、PNG、BMP、TIFF等)的支持,...
tif、tiff转jpg,转pdf。无旧压缩格式JPEG解析问题Decoding of old style JPEG-in-TIFF data is not supported。内含所需itextpdf-5.5.5.jar 以及jai-imageio-core-1.4.0.jar
标题中的"jai_codec-1.1.3_jai_core-1.1.3.zip"是一个包含JAI核心组件(jai_core)和JAI编解码器组件(jai_codec)的压缩包,版本号为1.1.3。这两个组件是Java开发者用于高级图像处理和媒体处理的关键工具。 **JAI ...
Java Advanced Imaging (JAI) 是一个用于处理图像的开源库,由Sun Microsystems开发,现在由Oracle维护。这个库提供了一系列高级图像操作,如旋转、缩放、色彩转换和编码解码等,支持多种图像格式。在给定的文件中,...