【问题标题】:Capture partial part of canvas to use it as Bitmap捕获部分画布以将其用作位图
【发布时间】:2012-03-24 15:07:58
【问题描述】:

我正在做一件事情,我想将画布的某些部分用作位图

。在这里,我附上了图片。 我想要一个矩形的位图核心(它有 wight Stork)

这是我的程序的算法。

1:创建画布。

2:在画布上绘制颜色选择器。

3:在画布上绘制一个矩形。

现在我想将此矩形用作位图..

那么有没有任何使用画布捕获位图的方法? (我听说过 Picture 类来捕获画布,我不知道它与这个场景相关)

【问题讨论】:

  • 为什么不先在 Bitmap 上绘制所有内容,然后将 Bitmap 绘制到画布上,然后您就可以从原始 Bitmap 中剪切矩形。

标签: android android-canvas


【解决方案1】:

所有的画布都是位图的包装器,它提供有用的绘图功能。因此,您可以使用位图创建画布,然后在该位图上调用 createBitmap() 以获取小矩形。下面是代码的概要。

Bitmap bitmap = Bitmap.createBitmap(/*screen width*/, /*screen height*/);
Canvas canvas = new Canvas(bitmap);
// . . .
// Draw color picker
// . . .
Bitmap selectedRectangle = Bitmap.createBitmap(bitmap, /*x*/, /*y*/, /*rectWidth*/, /*rectHeight*/);

【讨论】:

  • 但是您创建的矩形是位图本身的坐标系,而不是在画布或屏幕上绘制的原始位图的一部分,对吧?例如:如果您缩小原始位图(通过 scaledetector)然后尝试获取位图的部分,这将对应于原始位图坐标还是我们在屏幕上看到的缩放坐标?
猜你喜欢
  • 2011-05-30
  • 1970-01-01
  • 1970-01-01
  • 2015-06-17
  • 2012-12-10
  • 2020-12-27
  • 1970-01-01
  • 2021-07-16
  • 2014-08-04
相关资源
最近更新 更多