如何将图像扭曲成任何四边形?

Gek*_*eki 7 android image clip distortion

你们有没有想法,如何扭曲任何四边形的图像?我想实现一个图像,你可以在任何方向拉任何角落,扭曲图像.任何人都知道如何做到这一点?我现在在android中使用和写东西一段时间了,但似乎android没有这个功能.我真的不想写一个新的数学库:).

问候,可以

And*_*ich 8

看起来你需要Canvas.drawBitmapMesh.Android SDK中有一个示例显示了如何使用它.

您需要使用Matrix绘制位图Canvas.您可以使用Matrix.polyToPoly方法轻松创建适合您的位图图像到任何四边形的转换.它看起来像这样:

matrix.setPolyToPoly(
        new float[] { 
            0, 0, 
            bitmap.getWidth(), 0
            0, bitmap.getHeight(),
            bitmap.getWidth(), bitmap.getHeight() 
        }, 0, 
        new float[] { 
            x0, y0, 
            x1, y1, 
            x2, y2,
            x3, y3
        }, 0, 
        4);

canvas.drawBitmap(bitmap, matrix, paint);
Run Code Online (Sandbox Code Playgroud)

其中x0-x3,y0-y3是四边形顶点坐标.