【问题标题】:create part of bitmap as a new bitmap将位图的一部分创建为新位图
【发布时间】:2014-09-17 19:03:59
【问题描述】:

我有一个问题,我不知道如何解决它。我想做的是,创建一个位图,它是另一个位图的一部分。

我已经试过了

Bitmap newBitmap = Bitmap.createBitmap(bitmap, (int)x, (int) y, (int)width, (int)height);

新位图的宽度/高度还可以,但它是空的,每个像素都是透明的。

于是我搜了一下,发现必须用canvas重新绘制部分,因为createBitmap的返回一次是空的。但我不确定,因为这里的调用返回一个不可变的位图,Canvas 不喜欢它。我也不知道我必须在画布上使用哪个构造函数。

有人可以帮我吗?

感谢和问候

【问题讨论】:

    标签: android canvas bitmap draw


    【解决方案1】:

    那将创建一个不可变位图。请参考http://developer.android.com/reference/android/graphics/Bitmap.html 并了解该方法。

    要创建一个可变的,请使用createBitmap(DisplayMetrics display, int width, int height, Bitmap.Config config)。传入你想要渲染的部分的宽度和高度,以及你从yourActivity.getResources().getDisplayMetrics() 获得的 displayMetrics。

    要在新创建的位图中渲染您想要的区域,是的,使用 Canvas。有很多方法。你可以使用这个:http://developer.android.com/reference/android/graphics/Canvas.html#drawBitmap(android.graphics.Bitmap, android.graphics.Rect, android.graphics.RectF, android.graphics.Paint)

    你传入一个带有源区域和目标区域的矩形。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-11-28
      • 1970-01-01
      • 2017-08-19
      • 2021-08-24
      • 1970-01-01
      相关资源
      最近更新 更多