Java 我无法阅读tiff图像
这是我的密码。我正在将一个图像粘贴到另一个图像上。这在.gif和.jpg上运行良好,但在读取tiff图像时会出现空指针异常Java 我无法阅读tiff图像,java,jai,Java,Jai,这是我的密码。我正在将一个图像粘贴到另一个图像上。这在.gif和.jpg上运行良好,但在读取tiff图像时会出现空指针异常 import java.awt.*; import java.awt.image.*; import java.io.*; import javax.media.jai.*; import javax.imageio.*; public class Paint { public static void main ( String a
import java.awt.*;
import java.awt.image.*;
import java.io.*;
import javax.media.jai.*;
import javax.imageio.*;
public class Paint {
public static void main ( String args[] ) {
try {
// Create output file
OutputStream outStream = new FileOutputStream( "C:\\Users\\JavaPrg\\images\\image12.tif" );
// Load specified foreground and background
BufferedImage fgImage = ImageIO.read( new File( "C:\\Users\\JavaPrg\\images\\sign.png" ) );
BufferedImage bgImage = ImageIO.read( new File( "C:\\Users\\JavaPrg\\Input\\def.tif" ) );
BufferedImage tmpImage = new BufferedImage( fgImage.getWidth(), fgImage.getHeight(), BufferedImage.TYPE_INT_ARGB );
Graphics gOut = tmpImage.createGraphics();
// draw the foreground image on the temporary image
gOut.drawImage( fgImage, 0, 0, null );
gOut.dispose();
int width = tmpImage.getWidth();
int height = tmpImage.getHeight();
int[] pixels = new int[ width * height ];
pixels = tmpImage.getRGB( 0, 0, width, height, pixels, 0, width );
for ( int i = 0; i < pixels.length; i++ ) {
Color c = new Color( pixels[i] );
int r = c.getRed();
int g = c.getGreen();
int b = c.getBlue();
c = new Color( r, g, b);
pixels[i] = c.getRGB();
}
tmpImage.setRGB( 0, 0, width, height, pixels, 0, width );
Graphics bgc = bgImage.createGraphics();
bgc.drawImage( tmpImage,1110 ,425 , null );
bgc.dispose();
// Save the new composite image
ImageIO.write( bgImage, "tif", outStream );
outStream.close();
}
catch ( Exception x ) {
x.printStackTrace();
}
}
}
import java.awt.*;
导入java.awt.image.*;
导入java.io.*;
导入javax.media.jai.*;
导入javax.imageio.*;
公共类油漆{
公共静态void main(字符串args[]){
试试{
//创建输出文件
OutputStream outStream=新文件OutputStream(“C:\\Users\\JavaPrg\\images\\image12.tif”);
//加载指定的前景和背景
BuffereImage fgImage=ImageIO.read(新文件(“C:\\Users\\JavaPrg\\images\\sign.png”);
BuffereImage bgImage=ImageIO.read(新文件(“C:\\Users\\JavaPrg\\Input\\def.tif”);
BuffereImage tmpImage=新的BuffereImage(fgImage.getWidth(),fgImage.getHeight(),BuffereImage.TYPE_INT_ARGB);
Graphics gOut=tmpImage.createGraphics();
//在临时图像上绘制前景图像
痛风drawImage(fgImage,0,0,null);
痛风;
int-width=tmpImage.getWidth();
int height=tmpImage.getHeight();
int[]像素=新int[宽度*高度];
像素=tmpImage.getRGB(0,0,宽度,高度,像素,0,宽度);
对于(inti=0;i
无法发布屏幕截图:
它是
java.lang.NullPointerException位于Paint.main您需要安装一个知道如何读取tiff文件的图像读取器。试着检查一下我有哪些读写器。除了蒂芙,它什么都有。这是我的输出。。读取器BMP读取器BMP读取器jpg读取器jpg读取器wbmp读取器jpg读取器png读取器wbmp读取器GIF读取器jpg书写器BMP书写器BMP书写器jpg书写器jpg书写器wbmp书写器png书写器jpg书写器jpg书写器wbmp书写器GIF书写器GIF可以手动注册。tif代码中的读取器和书写器是jai_imageio.jar在类路径中?jar的yup路径是“C:\Program Files(x86)\Java\jdk1.7.0\U 55\jre\lib\ext\jai\u imageio.jar”类路径是“C:\Program Files(x86)\Java\jdk1.7.0\U 55\jre\lib\ext;”;现在imageio jdk.exe jre.exe和lib.exe都已安装