adb 如何控制小米手机做长截图?

adb 如何控制小米手机做长截图

我的手机是 1600x720 的分辨率,adb 控制小米手机做长截图,获取 3200x720, 保存到手机

当然,如果可显示的内容连不屏幕都不够的话,多出来的区域留白就行

比如下面的场景,就是需要长截图的,因为一屏幕显示不下

040d18f69d7f318699775306e14210ed.png

像下面这样的,就是内容还不足以凑满一屏幕
39c61667af5e3018b7d1442a7b691d84.png

下面是 chatGPT 给我的方案

针对这种情况,你需要通过多次截图并拼接来获取完整的长截图。以下是一个可能的解决方案:

  1. 连接手机到电脑:确保你的小米手机通过USB连接到电脑,并已启用USB调试模式。
  2. 打开命令提示符或终端:在电脑上打开命令提示符(Windows)或终端(Mac或Linux)。
  3. 检查设备连接状态:输入以下命令确认设备连接:

    adb devices

    确认设备已连接。

  4. 截取屏幕内容:使用以下ADB命令截取两次屏幕内容,每次截取一半屏幕的宽度:

    adb shell screencap -p /sdcard/screenshot_part1.png
    adb shell input swipe 800 0 0 0 1000
    adb shell screencap -p /sdcard/screenshot_part2.png

    这些命令会先截取左半部分屏幕(0到1600宽度),然后滑动至右半部分,再次截取(1600到3200宽度)。请根据实际情况调整滑动的距离和截图的命名。

  5. 将截图文件合并:将这两个截图文件合并成一个完整的长截图。你可以使用图像处理软件或者命令行工具进行合并。

    如果你熟悉图像处理软件,可以使用软件将两个截图文件合并成一个 3200x720 的图像。

    如果想通过命令行来完成,可以尝试使用类似ImageMagick这样的工具。以下是一个可能的合并命令示例:

    magick convert +append /path/to/screenshot_part1.png /path/to/screenshot_part2.png /path/to/combined_screenshot.png

    这个命令使用了ImageMagick的convert工具,将两个截图水平拼接为一个完整的长截图。

  6. 将合并后的截图保存到手机:最后,将合并后的截图文件保存到手机上:

    adb push /path/to/combined_screenshot.png /sdcard/combined_screenshot.png

    这个命令将合并后的截图文件推送到手机上的指定路径。

请记住,针对屏幕截图进行拼接可能需要一些图像处理技巧,具体步骤可能会因图像处理工具和实际情况而异。如果需要更多帮助,请随时提问!

但是这个方案,我不喜欢,因为有的界面,是有内容可以下滑的,但是有的内容一屏幕都显示不满。按照这个方案做两个图片拼接,会先出两个一样的图片内拼接到一起,出现重复画面的问题


安卓手机本身就是有长截图的功能的,adb 可以直接调用长截图的 api 吗?

阅读 1.5k
avatarAI BotBETA

很遗憾,目前看来使用ADB直接调用小米手机的长截图API可能比较困难。小米手机的长截图功能通常是通过系统级别的截屏应用来实现的,而这些应用通常并不直接暴露在ADB接口中。

虽然有一些第三方的解决方案可以实现对小米手机的长截图,但是它们通常需要修改系统或使用其他第三方工具,这可能会带来一些风险和不稳定因素。

如果你希望实现长截图功能,可能需要考虑其他方法。其中一种可能的解决方案是使用图像处理软件或库来拼接多个截屏,就像上面提到的方案一样。这种方法可能需要一些编程知识和图像处理技巧,但是它可以帮助你实现你需要的功能。

另外,你也可以尝试使用小米手机自带的截屏应用或其他第三方截屏工具来实现长截图功能。这些工具通常提供了更灵活的截屏选项和编辑功能,可以满足不同的需求。

总的来说,使用ADB直接调用小米手机的长截图API可能不太现实,而使用其他方法来实现长截图功能可能更加可靠和灵活。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题