【问题标题】:Convert view into bitmap with modification通过修改将视图转换为位图
【发布时间】:2019-03-29 11:31:02
【问题描述】:

要求:用户应该能够将布局(具有图像和文本)共享为图像。

我尝试过的解决方案:

   Bitmap b = Bitmap.createBitmap(myView.getWidth(), myView.getHeight(), Bitmap.Config.ARGB_8888);
   Canvas c = new Canvas(b);
   myView.draw(c);

这是按预期工作的。但我的问题很少。

问题: 我有几个按钮和文本,我不想转换为图像。另外,我想在位图图像上添加我的应用程序徽标作为水印。

我对上述问题的解决方案

  • 在转换为位图图像之前,更改按钮和徽标图像的可见性状态
  • 在实际布局之后以可共享的图像格式再创建一个布局。使用此布局获取位图图像(效率不高,但方法简单)

我的问题: 上述解决方案是否有效? 或者有没有其他有效的方法?

PS:我不是在寻找代码。 :)

【问题讨论】:

  • 请不要仅仅因为您使用该 IDE 而使用 IDE 标签 (android-studio) 标记问题:这些标签应该在您对 IDE 本身有疑问时使用,而不是您在其中编写(或想要编写)的任何代码。请参阅 when is it appropriate to remove an IDE tagHow do I avoid misusing tags?the tagging guide。另外,请阅读How to Ask
  • 首先,问题结构良好,易于阅读和理解。您也包括了您的尝试,这已经成为一个很好的问题,感谢您在问题上所做的工作。至于答案:这就是我这样做的方式,我认为除了 watermark 之外没有什么值得改进的地方:我会把它画在截图上跨度>
  • @VladyslavMatviienko 感谢您的宝贵意见 :) 我也将继续以类似的格式发布问题 :)

标签: android performance android-layout


【解决方案1】:

问题 1:是的,您必须更改那些不希望将它们转换为图像的视图的可见性(最简单的方法)。

问题2:添加水印,你可以直接在canvas上绘制(你可以使用canvas.drawBitmap来做)而不是放在布局中。

【讨论】:

  • 感谢您的回答。我会遵循最简单的方法。 (改变视图的可见性)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-05-14
  • 2011-11-04
  • 1970-01-01
相关资源
最近更新 更多