setPolyToPoly not applied

前端 未结 1 1424
不思量自难忘°
不思量自难忘° 2021-01-14 14:33

Can anyone help me with a graphics issue I am having. This code does not apply the setPolyToPoly at all.. it does the Camera rotation, but not the polyToPoly transformation

相关标签:
1条回答
  • 2021-01-14 14:46

    This sample does not fit your question entirely but might put you in the right direction. In this sample a matrix is applied to a bitmap that puts in a perspective. If I compare to your snippet, you do set the polytopoly but it is not applied to the camera.

        Bitmap  bitmap2 = Bitmap.createBitmap(200, 200, Bitmap.Config.ARGB_8888);
        Canvas canvas2 = new Canvas(bitmap2);       
        canvas2.drawColor(Color.WHITE);
        Paint rectPaint2 = new Paint();
        rectPaint2.setColor(Color.GREEN);
        canvas2.drawRect(20, 20, 180, 180, rectPaint2);
        Matrix matrix2 = new Matrix();
        float deform2 = 20f;
        float[] src2 = new float[] { 0, 0, bitmap2.getWidth(), 0, bitmap2.getWidth(), bitmap2.getHeight(), 0, bitmap2.getHeight() };
        float[] dst2 = new float[] { 0, 0, bitmap2.getWidth() - deform2, deform2, bitmap2.getWidth() - deform2, bitmap2.getHeight() - deform2, 0, bitmap2.getHeight() };
        matrix2.setPolyToPoly(src2, 0, dst2, 0, src2.length >> 1);
        Bitmap bMatrix2= Bitmap.createBitmap(bitmap2, 0, 0, bitmap2.getWidth(), bitmap2.getHeight(), matrix2, true);
    
        ImageView ivSecond = (ImageView) findViewById(R.id.ivSecond);
        ivSecond.setImageBitmap(bMatrix2);
    
    0 讨论(0)
提交回复
热议问题