[Android] ViewからPNGイメージを作成する (kotlin)

今回はViewをPNGイメージに変換します。

方法

1
2
3
4
5
6
7
8
9
10
val width = 800
val height = 400
val measuredWidth = View.MeasureSpec.makeMeasureSpec(width, View.MeasureSpec.EXACTLY)
val measuredHeight = View.MeasureSpec.makeMeasureSpec(height, View.MeasureSpec.EXACTLY)
view.measure(measuredWidth, measuredHeight)
view.layout(0, 0, view.measuredWidth, view.measuredHeight)
var bmp = Bitmap.createBitmap(view.width, view.height, Bitmap.Config.ARGB_8888)
val canvas = Canvas(bmp)
var baos = ByteArrayOutputStream()
bmp.compress(Bitmap.CompressFormat.PNG, 80, baos)

Viewのサイズを指定したら、Canvasに描画します。
Bitmapになったらあとは好きなようにできます。
(この例では、ByteArrayOutputStreamに書き出しているので、ファイルに書き込むなりお好きにできます)

0 件のコメント :

コメントを投稿