如何通过ADB命令或Shell调整/sdcard/image.png图片尺寸?
用ADB命令程序化调整Android截图尺寸
以下是几种无需GUI操作、纯ADB命令行实现的图片尺寸调整方案:
方案1:使用Android内置的convert工具(部分设备预装)
部分Android设备预装了ImageMagick精简版的convert工具,可直接用于图片缩放:
- 先执行截图命令:
adb shell screencap -p /sdcard/image.png - 执行缩放命令(示例为缩小至原尺寸的50%,保持宽高比):
若需指定具体分辨率(如宽度640px,高度按比例自动计算):adb shell convert /sdcard/image.png -resize 50% /sdcard/resized_image.pngadb shell convert /sdcard/image.png -resize 640x /sdcard/resized_image.png
方案2:通过ffmpeg命令行工具处理
如果设备未预装convert,可通过ADB推送预编译的Android版ffmpeg二进制文件到设备(需设备有可执行权限的目录,部分设备需Root):
- 推送
ffmpeg到设备并赋予执行权限:adb push ffmpeg /data/local/tmp/ adb shell chmod +x /data/local/tmp/ffmpeg - 截图后执行缩放命令(示例缩放至宽度640px,保持宽高比):
参数说明:adb shell /data/local/tmp/ffmpeg -i /sdcard/image.png -vf scale=640:-1 -y /sdcard/resized_image.pngscale=640:-1表示宽度设为640,高度自动按比例计算;-y表示覆盖已存在的输出文件。
方案3:本地处理(适合设备端无工具的情况)
若设备端无法安装命令行工具,可先将截图拉到本地处理后再回传(注意:此方案会占用双向带宽,仅适合原截图文件不大的场景):
- 拉取截图到本地:
adb pull /sdcard/image.png . - 本地用图像处理工具缩放(如使用ImageMagick的
convert命令):convert image.png -resize 50% resized_image.png - 将缩放后的图片推回设备:
adb push resized_image.png /sdcard/
内容的提问来源于stack exchange,提问作者pf_miles
相关产品推荐
相关产品推荐

