使用Kotlin在Android中获取屏幕截图的最简单方法是什么?

阿里雷扎·比德利(Alireza Bideli)

我有一个imageView和几个textViews我的应用程序允许用户在用户想要的imageView的坐标(imageView不是全屏)上拖动textViews

换句话说,该应用程序允许用户向用户图像添加多个字幕,并将该图像和字幕转换为单个图像并将其存储在用户设备上。

据一个计算器的回答,我可以一个刚刚转换的TextView文本到bitamp

id有没有办法从用户在kotlin中创建的带有字幕的最终图像中截取屏幕截图?

这是我的代码:

@Throws(IOException::class)
fun foo(text: String) {
    val textPaint = object : Paint() {
        init {
            setColor(Color.WHITE)
            setTextAlign(Align.CENTER)
            setTextSize(20f)
            setAntiAlias(true)

        }
    }
    val bounds = Rect()
    textPaint.getTextBounds(text, 0, text.length, bounds)

    val bmp = Bitmap.createBitmap(mImgBanner.getWidth(), mImgBanner.getHeight(), Bitmap.Config.RGB_565) //use ARGB_8888 for better quality
    val canvas = Canvas(bmp)
    canvas.drawText(text, 0, 20f, textPaint)
    val path = Environment.getExternalStorageDirectory().getAbsolutePath() + "/image.png"
    val stream = FileOutputStream(path)
    bmp.compress(Bitmap.CompressFormat.PNG, 100, stream)
    bmp.recycle()
    stream.close()
}
安东尼斯·拉兹(Antonis Radz)

在xml布局中添加所需的视图可对其进行充气,并获取包含您的视图的父布局的屏幕快照。

屏幕截图代码:

 fun takeScreenshotOfView(view: View, height: Int, width: Int): Bitmap {
            val bitmap = Bitmap.createBitmap(width, height, Bitmap.Config.ARGB_8888)
            val canvas = Canvas(bitmap)
            val bgDrawable = view.background
            if (bgDrawable != null) {
                bgDrawable.draw(canvas)
            } else {
                canvas.drawColor(Color.WHITE)
            }
            view.draw(canvas)
            return bitmap
        }

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

在Android上获取标准网络类型的最简单方法是什么?

来自分类Dev

在Julia中获取UTF-8子字符串的最简单方法是什么

来自分类Dev

Scala:在XML中获取所有叶节点及其路径的最简单方法是什么?

来自分类Dev

从Java中的Flowable获取列表的最简单方法是什么?

来自分类Dev

在Python中获取Google Compute Engine实例IP地址的最简单方法是什么?

来自分类Dev

在UEFI中获取分区的分区uuid的最简单方法是什么?

来自分类Dev

在HAML中增加ID的最简单方法是什么?

来自分类Dev

在Angular中制作editForm的最简单方法是什么?

来自分类Dev

使用Egit压缩提交的最简单方法是什么?

来自分类Dev

开始使用LaTeX的最简单方法是什么?

来自分类Dev

在Android Studio中打开此类项目的最简单方法是什么?(并启动它!)

来自分类Dev

使用Gradle在Android项目中混合Java + Scala的最简单方法是什么?

来自分类Dev

使用ruby脚本在MySQL中插入数据的最简单方法是什么

来自分类Dev

使用GridFS在流星中存储大对象的最简单方法是什么?

来自分类Dev

使用JS在字符串中找出字符重复的最简单方法是什么?

来自分类Dev

使用 ArrayList 中的值创建新文本文件的最简单方法是什么?

来自分类Dev

Android - 获取位置的最简单方法

来自分类Dev

从文件夹中获取随机文件并将其显示在烧瓶上的最简单方法是什么?

来自分类Dev

根据另一个值获取 JSON 数组中的值的最简单方法是什么?

来自分类Dev

使用ForeignKey字段获取自定义序列化模型的最简单方法是什么

来自分类Dev

获取两列数据并将其转换为字典的最简单方法是什么?

来自分类Dev

从WAAD获取用户组的最简单方法是什么?

来自分类Dev

从PHP Google API获取电子邮件地址的最简单方法是什么

来自分类Dev

从WAAD获取用户组的最简单方法是什么?

来自分类Dev

获取具有文件计数和大小的目录列表的最简单方法是什么

来自分类Dev

获取用户X坐标的最简单方法是什么?

来自分类Dev

在jenkins“更改”屏幕中添加git分支的简单方法是什么?

来自分类Dev

使用VB.NET检查MSSQL中是否存在数据库的最简单方法是什么?

来自分类Dev

使OSX中的matplotlib在虚拟环境中工作的最简单方法是什么?

Related 相关文章

  1. 1

    在Android上获取标准网络类型的最简单方法是什么?

  2. 2

    在Julia中获取UTF-8子字符串的最简单方法是什么

  3. 3

    Scala:在XML中获取所有叶节点及其路径的最简单方法是什么?

  4. 4

    从Java中的Flowable获取列表的最简单方法是什么?

  5. 5

    在Python中获取Google Compute Engine实例IP地址的最简单方法是什么?

  6. 6

    在UEFI中获取分区的分区uuid的最简单方法是什么?

  7. 7

    在HAML中增加ID的最简单方法是什么?

  8. 8

    在Angular中制作editForm的最简单方法是什么?

  9. 9

    使用Egit压缩提交的最简单方法是什么?

  10. 10

    开始使用LaTeX的最简单方法是什么?

  11. 11

    在Android Studio中打开此类项目的最简单方法是什么?(并启动它!)

  12. 12

    使用Gradle在Android项目中混合Java + Scala的最简单方法是什么?

  13. 13

    使用ruby脚本在MySQL中插入数据的最简单方法是什么

  14. 14

    使用GridFS在流星中存储大对象的最简单方法是什么?

  15. 15

    使用JS在字符串中找出字符重复的最简单方法是什么?

  16. 16

    使用 ArrayList 中的值创建新文本文件的最简单方法是什么?

  17. 17

    Android - 获取位置的最简单方法

  18. 18

    从文件夹中获取随机文件并将其显示在烧瓶上的最简单方法是什么?

  19. 19

    根据另一个值获取 JSON 数组中的值的最简单方法是什么?

  20. 20

    使用ForeignKey字段获取自定义序列化模型的最简单方法是什么

  21. 21

    获取两列数据并将其转换为字典的最简单方法是什么?

  22. 22

    从WAAD获取用户组的最简单方法是什么?

  23. 23

    从PHP Google API获取电子邮件地址的最简单方法是什么

  24. 24

    从WAAD获取用户组的最简单方法是什么?

  25. 25

    获取具有文件计数和大小的目录列表的最简单方法是什么

  26. 26

    获取用户X坐标的最简单方法是什么?

  27. 27

    在jenkins“更改”屏幕中添加git分支的简单方法是什么?

  28. 28

    使用VB.NET检查MSSQL中是否存在数据库的最简单方法是什么?

  29. 29

    使OSX中的matplotlib在虚拟环境中工作的最简单方法是什么?

热门标签

归档