小编m.b*_*.b.的帖子

使用TextureView缩放Camera2预览

我对Camera2 API的预览缩放有问题.我正在使用TextureView.

我想只缩放TextureView中显示的预览流.

我想缩放我使用Zoom Gesture的区域.

我使用SimpleOnScaleGestureListener!

我添加了以下代码.zoomingFactor和x和y位置都是正确的.

 private void updateTextureViewSize(float xPosi,float yPosi, float scale){
        float scaleX = 1.0f;
        float scaleY = 1.0f;




        float mVideoWidth = mCamcontrol.getmPreviewSize().getWidth();
        float mVideoHeight = mCamcontrol.getmPreviewSize().getHeight();

        int rotation = getWindowManager().getDefaultDisplay().getRotation();
        RectF viewRect = new RectF(0, 0, 1440, 2560);
        RectF bufferRect = new RectF(0, 0, mVideoHeight, mVideoWidth);

        bufferRect.offset(xPosi - bufferRect.centerX(), yPosi -    bufferRect.centerY());

         //16:9 faktor
        scaleX = ((mScale * scale) / 9f) * 16f;
        scaleY = ((mScale * scale) / 16f) * 9f;

        Matrix matrix = new …
Run Code Online (Sandbox Code Playgroud)

java android image zoom android-camera2

9
推荐指数
3
解决办法
1万
查看次数

将简单的java数组传递给原始的c-array swig

我想将一个简单的java数组传递给c.

目前我使用以下.i文件.

%module example

%include "arrays_java.i"
%include "example.h"
%{
#include "example.h"
%}
Run Code Online (Sandbox Code Playgroud)

使用arrays_java.i标头接受了java数组.但它制作了数组的完整副本,这对我来说很慢.我尝试用这些构建一个类型映射,我可以使用GetDoubleArray函数来获取java数组的指针.在我使用swig之前,我使用JNI GetDoubleArrayElements构建自己的包装器,这要快得多.

下面你可以看到我尝试在类型映射中使用Jni函数.

%typemap(jtype) (double *values, int lenght) "double[]"
%typemap(jstype) (double *values, int lenght) "double[]"
%typemap(javain) (double *values, int lenght) "$javainput"
%typemap(jni) (double *values, int lenght) "jdoubleArray"
%typemap(in) (double *values, int lenght) {

    $1 = (double *)JCALL2(GetDoubleArrayElements, jenv, $input, NULL);
    $2 = (int)    JCALL1(GetArrayLength,       jenv, $input);
 }

 %apply (double * DOUBLE, int LENGTH)   { (double * doubleArray, long len) };
Run Code Online (Sandbox Code Playgroud)

但swig只为我构建了一个javaclass(SWIGTYPE_p_double),我应该使用它.我只想传递一个简单的java数组并在c中使用这个java数组指针.

希望你能帮助我

编辑:

在这里,您可以看到我的完整.i文件.我纠正了长度失败.同样的问题

%module exampleModule
%include "std_string.i" …
Run Code Online (Sandbox Code Playgroud)

c++ java arrays android swig

5
推荐指数
1
解决办法
374
查看次数

标签 统计

android ×2

java ×2

android-camera2 ×1

arrays ×1

c++ ×1

image ×1

swig ×1

zoom ×1