BufferedImage bi = null;
Iterator readers = null;
ImageInputStream iis = null;
ImageReader reader = null;
ImageReadParam param = null;
ImageWriter writer = null;
FileOutputStream out = null;
FileInputStream in = null;
try
{
in = new FileInputStream(strSourceFile);
if (in == null) return 0;
iis = ImageIO.createImageInputStream(in);
if (iis == null) return 0;
readers = ImageIO.getImageReaders(iis);
if (readers == null) return 0; if (readers.hasNext())
{
reader = (ImageReader) readers.next();
writer = ImageIO.getImageWriter(reader);
} else return -2; reader.setInput(iis);
param = reader.getDefaultReadParam();
param.setSourceSubsampling(width, width, 0, 0);
bi = reader.read(0, param);
Iterator readers = null;
ImageInputStream iis = null;
ImageReader reader = null;
ImageReadParam param = null;
ImageWriter writer = null;
FileOutputStream out = null;
FileInputStream in = null;
try
{
in = new FileInputStream(strSourceFile);
if (in == null) return 0;
iis = ImageIO.createImageInputStream(in);
if (iis == null) return 0;
readers = ImageIO.getImageReaders(iis);
if (readers == null) return 0; if (readers.hasNext())
{
reader = (ImageReader) readers.next();
writer = ImageIO.getImageWriter(reader);
} else return -2; reader.setInput(iis);
param = reader.getDefaultReadParam();
param.setSourceSubsampling(width, width, 0, 0);
bi = reader.read(0, param);
String imgPath="C:\\1.jpg";
Image img=java.awt.Toolkit.getDefaultToolkit().getImage(imgPath);
MediaTracker mt=new MediaTracker(new Frame());
mt.addImage(img,0);
mt.waitForID(0);
BufferedImage bi=new BufferedImage(img.getWidth(null),img.getHeight(null),BufferedImage.TYPE_INT_BGR);
Graphics2D g2d=bi.createGraphics();
g2d.drawImage(img,0,0,null);
这样就把图画到BufferedImage上了,而且是通过Image
^_^^_^
真是太感谢了。我以前从来没做过这方面的东西,目前实在是工作需要才开始作有关图像方面的工作,所以是个不折不扣的门外汉:)
还有呀,在BufferedImage中有getRGB(int x,int y)这个函数,它是否就是读出指定位置的RGB值?
那我能否直接根据文件路径,将图片放入BufferedImage中呢?好像BufferedImage没有这样的功能呀。