fun takePic(view: View, width: Float, height: Float, scroll: Boolean, config: Bitmap.Config?): Bitmap? { var width = width var height = height if (!view.isDrawingCacheEnabled) { view.isDrawingCacheEnabled = true } if (width == 0f) { width = Consts.width } if (height == 0f) { height = Consts.height } val bitmap = Bitmap.createBitmap(width.toInt(), height.toInt(), config!!) bitmap.eraseColor(Color.WHITE) val canvas = Canvas(bitmap) var left = view.left var top = view.top if (scroll) { left = view.scrollX top = view.scrollY } val status: Int = canvas.save() canvas.translate(-left, -top) val scale = width / view.width canvas.scale(scale, scale, left, top) view.draw(canvas) canvas.restoreToCount(status) val alphaPaint = Paint() alphaPaint.setColor(Color.TRANSPARENT) canvas.drawRect(0f, 0f, 1f, height, alphaPaint) canvas.drawRect(width - 1f, 0f, width, height, alphaPaint) canvas.drawRect(0f, 0f, width, 1f, alphaPaint) canvas.drawRect(0f, height - 1f, width, height, alphaPaint) canvas.setBitmap(null) return bitmap }
fun takePic(v: View, width: Int, height: Int, config: Bitmap.Config?): Bitmap? { val bmp = Bitmap.createBitmap(v.width, v.height, config!!) val c = Canvas(bmp) c.drawColor(Color.WHITE) v.draw(c) return bmp }
fun takePic(view: View): Bitmap? { view.buildDrawingCache() return view.drawingCache }
fun takePic(v: View): Bitmap? { val bmp = Bitmap.createBitmap(v.width, v.height, Bitmap.Config.ARGB_8888) val c = Canvas(bmp) c.drawColor(Color.WHITE) v.draw(c) return bmp }
|