我使用eclipse做开发有个程序A的界面,我要截取坐标A(w,x)~B(w,yz)的内容
然后将图片变成黑白,该怎么办?

解决方案 »

  1.   

    步骤如下:
    1.先用截图工具把这个程序运行的窗口截取。工具如snap
    2.在fireworks中打开这个图片,fireworks中有的切片工具,好处就是能显示你切的图片的矩形的坐标。
      这样就可以满足你说的截取坐标A(w,x)~B(w,yz)的内容
    3.再用看图工具换底色。
      

  2.   

    假设程序A是个Frame frame,
    先创建一个BufferedImage img,宽和高要和frame一样;
    然后 Graphics g = img.getGraphics();
    在对frame调用paint(g)方法.
    这样这个窗体上的内容就被画到了img上.
    然后创建一个CropImageFilter实例,
    CropImageFilter cif = new CropImageFilter(int x, int y, int w, int h) ;//参数分别是x,y坐标,宽度和高度
    在产生一个FilteredImageSource的实例
    FilteredImageSource fis = new FilteredImageSource(ImageProducer orig, ImageFilter imgf) ;
    参数ImageProducer可以使用img.getSource()获得,
    参数ImageFilter参数可以使用刚才创建的cif;
    然后定义一个Image img2 ,
    img2 = Toolkit.getDefaultToolkit().createImage(ImageProducer producer) ;
    参数ImageProducer使用 fis.
    这样就将程序的一部分截取下来了
    然后是将图片变黑白,简单的做法是使用javax.swing.GrayFilter的一个静态方法
    static Image  createDisabledImage(Image i) 
    使用一个图像参数创建一个这个图像的禁用图像,即黑白的.
    如果想实现更灵活的变动,那你就使用相应的ImageFilter就行了
      

  3.   

    继续请问四楼的兄弟如何通过Frame 将对象窗口实例化
    谢谢
      

  4.   

    一般情况下,先new一个Frame对象出来,然后再往上面添加组件