用的sun的jai东西,保留为方便查询与使用。
import java.io.File;
import java.io.IOException;
import com.sun.media.jai.codec.FileSeekableStream;
import com.sun.media.jai.codec.ImageCodec;
import com.sun.media.jai.codec.ImageDecoder;
import com.sun.media.jai.codec.SeekableStream;
import com.sun.media.jai.codec.TIFFDecodeParam;
import com.sun.media.jai.codec.TIFFDirectory;
public class TifTest {
public static void readTifFIle(String fileName) {
File file = new File(fileName);
SeekableStream s = null;
TIFFDecodeParam param = null;
try {
s = new FileSeekableStream(file);
ImageDecoder dec = ImageCodec.createImageDecoder("tiff", s, param);
int numofpages;
numofpages = dec.getNumPages();
System.out.print(numofpages);
} catch (IOException e1) {
e1.printStackTrace();
}
}
//读取文件的 页数
public static void readTifFIle2(String fileName){
File file = new File(fileName);
SeekableStream s = null;
try {
s = new FileSeekableStream(file);
System.out.println(TIFFDirectory.getNumDirectories(s));
} catch (IOException e) {
e.printStackTrace();
}
}
public static void main(String[] args) {
String fileName = "C:\\婚姻证明.tif";
readTifFIle2(fileName);
}
/* public static int DISPLAY_WIDTH = 300;
public static boolean doTiff2JPEG (String filename, String imageDir) {
File file = new File(imageDir , filename);
SeekableStream s = null;
TIFFDecodeParam param = null;
RenderedImage op = null;
String simplefilename = filename.substring(0,filename.lastIndexOf("."));
try {
s = new FileSeekableStream(file);
ImageDecoder dec = (ImageDecoder) ImageCodec.createImageDecoder("tiff", s, param);
int numofpages = dec.getNumPages();
for (int i=0; i < numofpages; i++) {
op = new NullOpImage
(dec.decodeAsRenderedImage(i),null,null,OpImage.OP_COMPUTE_BOUND);
int width = op.getWidth();
int height = op.getHeight();
double conversionFactor = (double)DISPLAY_WIDTH / (double)width;
int thumbHeight = (int)((double)height * conversionFactor);
int thumbWidth = (int)((double)width * conversionFactor);
Dimension dim = new Dimension(thumbHeight, thumbWidth);
JAI.setDefaultRenderingSize(dim);
JAI.setDefaultTileSize(dim);
JAI.create("filestore",
op, imageDir <i>File.separator</i> simplefilename + "." + i + ".jpg", "png");
}
} catch (IOException e) {
System.out.println(e.getLocalizedMessage());
return false;
}
return true;
}
public static void main(String[] args) {
TifTest.doTiff2JPEG("aa.tiff", "d:temp");
}*/
}
分享到:
相关推荐
首先,"Image读取CMYK和Tif 报错的解决办法"这个标题明确指出,问题在于读取采用CMYK色彩模式的TIFF图像时出现错误。CMYK(青、洋红、黄、黑)是用于印刷的颜色模式,与我们常见的RGB(红、绿、蓝)模式不同,RGB...
在本场景中,"JAI - 将图片转为TIF格式的依赖包"指的是利用JAI来将常见的图片格式如JPEG (JPG)、Portable Network Graphics (PNG) 和Bitmap (BMP) 转换成Tagged Image File Format (TIFF)。TIFF是一种灵活的位图图像...
`jai-codec`库则是JAI的编码扩展,支持多种图像格式的读取和写入,包括TIFF和JPEG。 在描述中提到了两个关键的包名:`com.sun.media.jai.codec` 和 `javax.media.jai`。`com.sun.media.jai.codec` 包含了图像编码和...
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...
在实际应用中,如果你需要进行TIF图片转换或其他复杂的图像处理任务,这些JAI相关的库会非常有用。通过导入这些JAR文件到你的项目中,你可以利用JAI的强大功能来处理高分辨率的图像,或者执行需要高性能计算的图像...
它包含了对多种图像格式(如JPEG、PNG、BMP、TIFF等)的支持,使得Java程序能够方便地读取和写入这些格式的图像文件。通过JAI的Codec框架,开发者可以轻松地扩展支持新的图像格式。 2. **jai_core.jar**:这是JAI的...
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 很难下
例如,可以使用`jai_core`进行图像的几何变换,用`jai_imageio`来读取和保存不同格式的图像,而`jai_codec`则负责图像数据的压缩和解压缩。 在实际应用中,JAI特别适用于需要高性能图像处理的场景,如医疗成像、...
以下是一个简单的使用JAI编码库的例子,展示如何使用JAI读取和写入JPEG图像: ```java import javax.media.jai.JAI; import javax.media.jai.RenderedOp; import java.awt.image.BufferedImage; import java.io....
2. **API接口**:JAI Codec提供了用于读取、写入和处理各种编码格式的类和方法,使得开发人员能够方便地在应用程序中集成图像的编码和解码功能。 3. **性能优化**:JAI Codec利用了硬件加速技术,提高了图像的编码和...
JAI库提供了丰富的功能,包括图像的读取、写入、操作和转换,适用于科学、医疗、工程以及多媒体应用等领域。这个压缩包包含三个核心的JAI组件: 1. **jai-core-1.1.3.jar**:这是JAI的核心库,包含了基本的图像处理...
1. 图像基本操作:如读取、写入和显示不同格式的图像文件,如JPEG、TIFF、PNG等。 2. 像素操作:提供了一系列的算术和逻辑运算,可以对像素进行加法、减法、乘法、除法等操作。 3. 转换和几何操作:支持图像的平移、...
它使得JAI能够读取和写入这些格式的文件,方便在应用程序中处理不同格式的图像数据。 3. **JAI Image I/O** (jai_imageio.jar): 这是JAI的扩展,增加了对Java Image I/O API的支持。Java Image I/O API是Java标准库...
在处理这类图像时,`jai_codec.jar`提供了读取和写入TIFF文件的功能。 `jai_core-1.1.3.jar`是JAI的核心库,它提供了基础的图像处理操作和算法,如基本的几何变换、颜色空间操作、滤波以及图像合成等。这个库是JAI...
例如,如果你正在开发一个需要读取大量遥感图像的GIS应用,JAI可以帮助你轻松地处理这些图像,同时提供高级的图像分析功能。 在开发过程中,开发者需要注意JAI的性能优化,因为一些高级操作可能会消耗大量计算资源...
这个组件包含了读取和写入这些格式的类和方法,使得开发者能够方便地处理图像的导入和导出。 2. **JAI Core**: JAI Core是JAI的基础模块,提供了核心的图像处理功能,如几何变换(旋转、缩放、剪切)、色彩空间转换...
开发者可以使用这个库来读取和写入这些格式的图像,同时它还支持一些特殊的编码算法,如JPEG 2000。 2. **jai_core.jar**: 这是JAI的核心库,包含了基本的图像处理操作。它提供了一系列的ImageOp类,用于执行常见的...
1. **读取TIFF文件**:通过JAI的`RenderedOp`类,可以创建一个用于读取TIFF文件的图像操作,这允许从TIFF文件中加载图像数据。 2. **解析TIFF元数据**:JAI提供了访问TIFF文件元数据的方法,包括图像的分辨率、色彩...
使用这两个JAR文件进行TIFF到JPG的转换,开发者可以调用JAI提供的API来读取TIFF图像,进行必要的预处理(如裁剪、旋转等),然后将图像数据转换为JPG格式,最后写入新的JPG文件。这个过程可能涉及到色彩空间转换、...
它扩展了JAI Core的功能,使得开发者能够轻松地读取和写入这些格式的图像文件。`jai_codec_1.1.2_01.jar` 文件包含了JAI Codec的实现,是处理不同图像格式所必需的依赖。 这两个库通常一起使用,以提供全面的图像...