最近在搞JAVA图片,遇到个很郁闷的问题,当读取图片文件时,用ImageIO.read(new File(imagePath)),结果一部分扫描的JPG文件读入后,都变黑了,就像下面的图那样
原图片 尺寸:2481*3509 大小:1.75M但是我自己弄了几张 更大的图,都没有这个问题,不知道应该如何解决?是不是扫描出来的图片格式问题?希望有高手来指点一下 谢谢!
原图片 尺寸:2481*3509 大小:1.75M但是我自己弄了几张 更大的图,都没有这个问题,不知道应该如何解决?是不是扫描出来的图片格式问题?希望有高手来指点一下 谢谢!
解决方案 »
- java swing界面上的问题
- 求教 字节流中OutputStream.write()中直接写InputStream.read()和通过int变量过渡一些的区别
- 关于java接口的问题!!!!
- 熟悉swing布局管理器的进☆☆☆☆☆☆☆☆☆☆☆☆☆
- 有关J2SE 5.0以后提供的自动装箱和拆箱。
- 利用Swing编写菜单的问题
- 求助!!org.w3c.dom.Document 对象,怎么控制其Encoding ??急!
- 关于在JBuilder6.0中调用Oracle8i数据库的问题,实在伤脑筋!
- 几种JAVA开发工具之比较
- Runnable接口的实现,构造函数函数错在哪?
- 关于String和StringBuffer
- 关于文件读入的问题?急!!!
jpg格式应该没问题
没这个道理啊
import java.awt.geom.AffineTransform;
import java.awt.image.BufferedImage;
import java.io.*;
import javax.imageio.ImageIO;
public class LoadAndSave {
public static void main(String[] args) throws IOException {
String path = "images/cougar.jpg";
BufferedImage image = ImageIO.read(new File(path));
int w = image.getWidth();
int h = image.getHeight();
BufferedImage toStore = new BufferedImage(h, w, image.getType());
Graphics2D g2 = toStore.createGraphics();
double x = (h - w)/2.0;
double y = (w - h)/2.0;
AffineTransform at = AffineTransform.getTranslateInstance(x, y);
at.rotate(Math.toRadians(90), w/2.0, h/2.0);
g2.drawRenderedImage(image, at);
g2.dispose();
ImageIO.write(toStore, "BMP", new File("loadAndSave.bmp"));
}
}
我也正想告诉下lz呢
有事jpg格式的图片不是那么标准!!
所以读取会出错!!
试试吧!!