Android截图功能代码

 

IDevice device;   
AndroidDebugBridge bridge = AndroidDebugBridge.createBridge();   
waitDeviceList(bridge);   
           
IDevice devices[] = bridge.getDevices();   
device = devices[0];  
 
private static void waitDeviceList(AndroidDebugBridge bridge) {
       int count = 0;
       while (bridge.hasInitialDeviceList() == false) {
           try {
          Thread.sleep(100); // 如果没有获得设备列表,则等待
          ount++;
          } catch (InterruptedException e) {}
          if (count > 300) {
    // 设定时间超过300×100 ms的时候为连接超时
          System.err.print("Time out");
          break;
          }
       }
   }
 
if(rawScreen != null){
                   BufferedImage image = null;
                   int width2 = landscape ? rawScreen.height : rawScreen.width;
                   int height2 = landscape ? rawScreen.width : rawScreen.height;
                   if (image == null) {
                       image = new BufferedImage(width2,height2,
                              BufferedImage.TYPE_INT_RGB);
                   } else {
                       if (image.getHeight() != height2 || image.getWidth() != width2) { 
                          image = new BufferedImage(width2, height2,
                                   BufferedImage.TYPE_INT_RGB);
                       }
                   }
                                      int index = 0;
                   int indexInc = rawScreen.bpp >> 3;
                   for (int y = 0; y < rawScreen.height; y++) {
                       for (int x = 0; x < rawScreen.width; x++, index += indexInc) {
                           int value = rawScreen.getARGB(index);
                           if (landscape) 
                              image.setRGB(y, rawScreen.width - x - 1, value);
                           else
                              image.setRGB(x, y, value);
                       }
                   }
                      ImageIO.write((RenderedImage)image,"PNG",new File("D:/temp.jpg"));
               } 
 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值