Image src = javax.imageio.ImageIO.read(_file); // 构造Image对象
   double wideth = (double) src.getWidth(null); // 得到源图宽
   double height = (double) src.getHeight(null); // 得到源图长
   System.out.println("源图宽:"+wideth);
   System.out.println("源图长:"+height);
   /*//缩放处理
   int iWideth = (int) (wideth * ins);  
   int iHeight = (int) (height * ins);
   */
   int iWideth = 500;
   int iHeight = 400;
   System.out.println("现图宽:"+iWideth);
   System.out.println("现图长:"+iHeight);
   System.out.println("缩放参数:"+ins);
   BufferedImage tag = null;
   try{
   
    tag = new BufferedImage(iWideth, iHeight,BufferedImage.TYPE_INT_RGB);
    tag.getGraphics().drawImage(src, 0, 0, iWideth, iHeight, 200, 100, iWideth, iHeight, null);
  

    /*//打水印   
    File _filebiao = new File("test2.jpg");   
    Image src_biao = ImageIO.read(_filebiao);   
    int wideth_biao = 40;//src_biao.getWidth(null);   
    int height_biao = 40;//src_biao.getHeight(null);   
    tag.getGraphics().drawImage(src_biao,50,50,wideth_biao,height_biao,null);   
    */
   }catch(Exception e){e.printStackTrace();}我想在图片上找到一个坐标点x,y,以这个坐标为中心向四周延伸一定区域,然后把这个区域的图裁下来,应该怎么做呢,谢谢帮我看看

解决方案 »

  1.   

     希望能对LZ有所帮助import java.awt.Dimension;
    import java.awt.Rectangle;
    import java.awt.Robot;
    import java.awt.Toolkit;
    import java.awt.image.BufferedImage;
    import java.io.File;import javax.imageio.ImageIO;/*******************************************************************************
     * 该JavaBean可以直接在其他Java应用程序中调用,实现屏幕的"拍照" This JavaBean is used to snapshot the
     * GUI in a Java application! You can embeded it in to your java application
     * source code, and us it to snapshot the right GUI of the application
     * 
     * @see javax.ImageIO
     * @author liluqun ([email protected])
     * @version 1.0
     * 
     ******************************************************************************/class GuiCamera
    {
        private String fileName; // 文件的前缀    private String defaultName = "GuiCamera";    static int serialNum = 0;    private String imageFormat; // 图像文件的格式    private String defaultImageFormat = "png";    Dimension d = Toolkit.getDefaultToolkit().getScreenSize();    /***********************************************************************
         * 默认的文件前缀为GuiCamera,文件格式为PNG格式 The default construct will use the
         * default Image file surname "GuiCamera", and default image format
         * "png"
         **********************************************************************/
        public GuiCamera()
        {
        fileName = defaultName;
        imageFormat = defaultImageFormat;
        }    /***********************************************************************
         * @param s
         *                the surname of the snapshot file
         * @param format
         *                the format of the image file, it can be "jpg" or "png"
         *                本构造支持JPG和PNG文件的存储
         **********************************************************************/
        public GuiCamera(String s, String format)
        {
        fileName = s;
        imageFormat = format;
        }    /***********************************************************************
         * 对屏幕进行拍照 snapShot the Gui once
         **********************************************************************/
        public void snapShot()
        {
        try
        {
            // 拷贝屏幕到一个BufferedImage对象screenshot
            BufferedImage screenshot = (new Robot())
                .createScreenCapture(new Rectangle(0, 0,
                    (int) d.getWidth(), (int) d.getHeight()));
            serialNum++;
            // 根据文件前缀变量和文件格式变量,自动生成文件名
            String name = fileName + String.valueOf(serialNum) + "."
                + imageFormat;
            File f = new File(name);
            System.out.print("Save File " + name);
            // 将screenshot对象写入图像文件
            ImageIO.write(screenshot, imageFormat, f);
            System.out.print("..Finished! ");
        } catch (Exception ex)
        {
            System.out.println(ex);
        }
        }    public static void main(String[] args)
        {
        GuiCamera cam = new GuiCamera("Test", "png");
        cam.snapShot();
        }
    }