【问题标题】:Defining an area for a screen capture on android在android上定义屏幕截图的区域
【发布时间】:2022-01-13 22:58:03
【问题描述】:

我目前使用MediaProjection API 设置了VirtualDisplay,该API 被绘制到始终可见的SurfaceView。然而,VirtualDisplay 正在捕获整个显示,但我希望它只捕获 SurfaceView 覆盖的部分。有什么解决办法吗,不胜感激?

【问题讨论】:

  • 在创建 VirtualDisplay 时不能set the screen size 吗?
  • 这只是设置 VirtualDisplay 的大小,它仍然包含整个屏幕。
  • 我已经阅读过,似乎无法使用此 API,请尝试阅读 here,如果它没有过时,它应该可以解决问题。
  • 我使用的是Java,请参考相应的文档。
  • 对不起,我没有意识到,试试this指南,从迷你介绍视频看它似乎只显示徽标,而不是全屏。

标签: java android screenshot android-mediaprojection android-virtualdisplay


【解决方案1】:

感谢this 的问题,我找到了解决方案。设置SurfaceView 的比例是关键:

mSurface.setScaleX(/*scale factor*/);
mSurface.setScaleY(/*scale factor*/);

至于比例因子,我目前正在尝试反复试验,直到完美契合并与背景完美融合,但我会尝试以更加程序化和精确的方式进行。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-03-23
    • 2021-12-27
    • 1970-01-01
    • 2014-08-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多