当前位置: 首页 > 面试题库 >

setPolyToPoly不适用

高寒
2023-03-14
问题内容

谁能解决我遇到的图形问题。这段代码根本不应用setPolyToPoly ..它会进行Camera旋转,但不会进行polyToPoly转换..我不明白为什么。

final Camera camera = mCamera;
final Matrix matrix = t.getMatrix();

camera.save();
camera.translate(x, y, z);
camera.getMatrix(matrix);
camera.restore();

matrix.setPolyToPoly(sourceArr, 0, destArr, 0, sourceArr.length >> 1);
matrix.preTranslate(-0, -height);
matrix.postTranslate(0, height);

问题答案:

该样本并不完全适合您的问题,但可能会为您指明正确的方向。在此示例中,将矩阵应用于放置在透视图中的位图。如果将我与您的代码段进行比较,则可以设置多边形,但它不会应用于相机。

    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);


 类似资料:
  • 问题内容: 我正在尝试学习JavaFX,并且已经编写了下面显示的代码,但是我似乎在使用以下代码行时遇到麻烦: 在强调setOnAction的位置并显示此错误: 我究竟做错了什么? 问题答案: 您已经导入了awt事件监听器,只需更改此行代码 有了这个 你也可以像这样使用lambda表达式

  • 我想在Apache Flink项目中使用ProcessWindowFunction。但我在使用process函数时遇到了一些错误,请参见下面的代码片段 错误是: 方法进程(ProcessWindowFunction, R, Tuple, TimeWindow 我的程序: 我的处理窗口功能:

  • 我正在尝试学习JavaFX,我已经编写了下面所示的代码,但这行代码似乎有问题: 其中它在setOnAction下划线,并打印此错误: 我做错了什么?

  • 问题内容: 嗨,我只是简单地尝试在www.example.com上获取h1标签,该标签显示为“ Example Domain”。该代码适用于http://www.example.com,但不适用于https://www.exmaple.com。我该如何解决这个问题?谢谢 问题答案: PhantomJSDriver不支持(所有)DesiredCapabilities。 你会需要: 记录在这里:htt

  • 所以我使用这种方法写入文件,它在windows上运行完全正常,但在mac上运行时,它会创建文件,但它们是空的。 我知道数据是正确的,因为它打印正确。感谢您的任何帮助,这真的让我绊倒了。

  • 问题内容: 我的FXML中有一个DatePicker,我需要日期才能将其插入到SQL数据库中。我想格式化日期,但是不起作用。 这是我得到的错误。 我还是个初学者。我在过去的3到4个月中都拥有Java。我正在尽力改善。 问题答案: 我必须为Datepicker使用String转换器。 它工作得很好。我必须使用参数,因为我当前正在使用5个Datepickers。