在我的View
中,有一个Path
对象:
private var mPath= Path()
我有向此Path
添加矩形的方法:
private fun drawRect(path: Path, centerX: Float, centerY: Float, widthRect: Float, heightRect: Float) {
tempSizeXRect = if (widthRect / 1.5f >= heightRect) heightRect * 1.5f / 2f else widthRect / 2f
tempSizeYRect = if (heightRect / 1.5f >= widthRect) widthRect * 1.5f / 2f else heightRect / 2f
drawTempRectF.set(centerX - tempSizeXRect, centerY - tempSizeYRect, centerX + tempSizeXRect, centerY + tempSizeYRect)
path.addRoundRect(drawTempRectF, roundness, roundness, Path.Direction.CW)
}
我正在添加矩形:
rowsMap.forEach {
drawRect(mPath, it.value.centerX(), it.value.centerY(), it.value.width(), it.value.height())
}
此外,我还有一个Matrix
来变换我的所有图形:
private var baseMatrix = Matrix()
我的onDraw()
方法:
override fun onDraw(canvas: Canvas?) {
...
viewCanvas.drawPath(mPath, mPaint)
}
因此,我可以通过更改Path
属性来转换Matrix
:
mPath.transform(mBaseMatrix)
如何在Bitmap
中的矩形上绘制图像(Path
),使图像根据其矩形进行变换(缩放和定位)?我需要可以使用Path
进行转换的Matrix
之类的东西,并且可以向其中添加Bitmap
图像而不是形状。