`
zhyiwww
  • 浏览: 86531 次
最近访客 更多访客>>
文章分类
社区版块
存档分类
最新评论

Java中实现图片裁剪

阅读更多

Java 如何截取图片 <o:p> 
</o:p>

Author      :      zhyiwww<o:p>

E-Mail       :      zhyiwww@163.com<o:p>

Date           :      2007-1-30<o:p>

转载请注明出处 www.BlogJava.net/zhyiwww<o:p>

                                (copyright by @ zhangyi) <o:p> 
</o:p>

下面是我的一段代码,实现如何截取图片的: <o:p> </o:p>

<o:p> </o:p>        // 图片源 <o:p> </o:p>

       private static final String SRC_FILE="org//zy//demo//jdk//base//image//car1.jpg";<o:p>

      // 目标图片 <o:p> </o:p>

       private static final String DEST_FILE="c://a.jpg";<o:p>

<o:p> </o:p>

/**<o:p>

        * 读取图像文件 <o:p> </o:p>

        * ImageReader<o:p>

        * @param imgPath<o:p>

        * @throws IOException <o:p>

        */<o:p>

       public void readUsingImageReader(String imgPath) throws IOException{<o:p>

              <o:p> </o:p>

              // 取得图片读入器 <o:p> </o:p>

              Iterator readers = ImageIO.getImageReadersByFormatName("jpg");<o:p>

              System.out.println(readers);<o:p>

              ImageReader reader = (ImageReader)readers.next();<o:p>

              System.out.println(reader);<o:p>

              <o:p> </o:p>

              // 取得图片读入流 <o:p> </o:p>

              InputStream source=this.parseImagePath(ImageDemo.SRC_FILE);<o:p>

              ImageInputStream iis = ImageIO.createImageInputStream(source);<o:p>

              <o:p> </o:p>

              reader.setInput(iis, true);<o:p>

              <o:p> </o:p>

              // 图片参数 <o:p> </o:p>

              <o:p> </o:p>

              ImageReadParam param = reader.getDefaultReadParam();<o:p>

              int imageIndex = 0;<o:p>

              int half_width = reader.getWidth(imageIndex)/2;<o:p>

              int half_height = reader.getHeight(imageIndex)/2;<o:p>

//            Rectangle rect = new Rectangle(60, 60, half_width, half_height); <o:p>

              Rectangle rect = new Rectangle(60, 60, 100, 100);<o:p>

              <o:p> </o:p>

              param.setSourceRegion(rect);<o:p>

       <o:p> </o:p>

              BufferedImage bi = reader.read(0,param);              <o:p>

              <o:p> </o:p>

              ImageIO.write(bi, "jpg", this.initDestFile());           <o:p>

              <o:p> </o:p>

       }<o:p>

<o:p> </o:p>

我的源图片是: <o:p> </o:p>

<!----> <!----> img0.jpg
<!----> <o:p> </o:p>

<o:p> </o:p>

上面的程序运行后截得的图片如下: <o:p> </o:p>

<!----> <!----> img1.jpg
<!----> <o:p> </o:p>

<o:p> </o:p>



zhyiwww 2007-01-30 17:41 发表评论
分享到:
评论
3 楼 johnnyhg 2008-12-24  
根本没法运行!完整的代码给出来吧!
2 楼 blade_runner 2007-09-03  
是不是只能截取jpg文件呢?
1 楼 blade_runner 2007-09-03  
谢谢,很有用!

相关推荐

Global site tag (gtag.js) - Google Analytics