在特定坐标处变换位图或ImageView

时间:2014-08-05 14:42:08

标签: android bitmap imageview coordinates transform

我正在尝试通过将点拖动到特定坐标Example来转换位图和imageview,这是绘图应用。这是最好的方法吗?我应该使用OpenGL吗?谢谢

编辑:我使用canvas.drawBitmapMesh修复了谢谢大家的帮助我真的很感激。

1 个答案:

答案 0 :(得分:1)

你可以尝试像这样创建第二个可变位图

Bitmap originalBitmap;
Bitmap b = Bitmap.createBitmap(originalBitmap.getWidth(), originalBitmap.getHeight(), Bitmap.Config.ARGB_8888);
Canvas c = new Canvas(b)

然后,您可以在应用转换的新位图之上绘制原始位图。有关详细信息,请参阅Canvas API。

例如,使用以下方法:

c.drawBitmap(Bitmap bitmap, Matrix matrix, Paint paint)

<强>更新

关于Matrix的使用,这只是一个猜测,你可以尝试方法mapPoints(float [] src,float [] dest)。我还在Google上进行了快速搜索,并找到了web page的示例。看看。

更新2

达丹能够通过以下方法实现目标:

drawBitmapMesh(Bitmap bitmap, int meshWidth, int meshHeight, float[] verts, int vertOffset, int[] colors, int colorOffset, Paint paint);

方法说明:

  

通过网格绘制位图,网格顶点均匀   分布在位图上。有meshWidth + 1个顶点,   和meshHeight + 1个顶点向下。访问verts数组   行主要顺序,以便第一个meshWidth + 1个顶点   从左到右分布在位图的顶部。更多   此方法的一般版本是drawVertices()。

相关问题