【发布时间】:2019-11-22 02:15:36
【问题描述】:
我有一个连接到外部打印机设备的应用程序,我需要获取一些用户数据并动态制作图像并打印它。打印机 API 需要位图作为打印输入。请注意,我从不想将程序创建的图像绘制到屏幕上;图像的生成和打印没有可见的 UI,它发生在后台。
到目前为止,我考虑过以下方式之一:
1) 制作画布,从不调用绘图函数,将其转换为位图然后打印(有点偏离使用 Canvas API 的预期方式)
2) 制作一个隐藏的 ImageView xml 布局,从不使其可见,将其转换为位图然后打印(这可能会变得很棘手,因为我可能必须将它包含在 Activity 的布局中某处以动态编辑它,但是消耗资源,感觉效率低下)
您对最佳方法有何看法?我考虑过的两种方法中的任何一种都感觉有点老套,让我渴望一个用于自定义图像生成的专用 API。
【问题讨论】:
-
A
Canvas只是吸引到Bitmap。没有要求或期望Bitmap会被绘制到屏幕上。但是,您将不得不使用Canvas的draw*()方法,因此我不确定您为什么要避免使用这些方法,或者为什么这似乎不是Canvas的预期用法。跨度> -
我对 Canvas 的研究不够;我没有意识到绘图方法并没有尝试在布局中绘制到 Canvas。这似乎是最好的方法。
标签: android image imageview android-canvas dynamic-image-generation