相关疑难解决方法(0)

Android Zxing改变方向为肖像

在阅读了几个关于这个问题的问题和帖子后,我正在尝试旋转Zxing显示器.按照说明操作后,显示屏确实旋转,但扫描仪的矩形没有按照应有的位置放置(如附图所示).

这就是我所做的:

  1. 在CameraConfigurationManager中:

    camera.setDisplayOrientation(90);
    
    Run Code Online (Sandbox Code Playgroud)
  2. 在DecodeHandler.java中

    byte[] rotatedData = new byte[data.length];
        for (int y = 0; y < height; y++) {
            for (int x = 0; x < width; x++)
                 rotatedData[x * height + height - y - 1] = data[x + y * width];
         }
    int tmp = width;         
    width = height;
    height = tmp;
    
    Run Code Online (Sandbox Code Playgroud)
  3. 在CameraManager.java中:

    rect.left = rect.left * cameraResolution.y / screenResolution.x;
    rect.right = rect.right * cameraResolution.y / screenResolution.x;
    rect.top = rect.top * cameraResolution.x / screenResolution.y;
    rect.bottom = rect.bottom …
    Run Code Online (Sandbox Code Playgroud)

android zxing

44
推荐指数
5
解决办法
4万
查看次数

在Android上的纵向模式中的Zxing相机

我想portraitZxing相机上显示方向.

如何才能做到这一点?

android zxing landscape-portrait

40
推荐指数
3
解决办法
4万
查看次数

android + ZXing条码扫描库 - 自定义大小和方向

我已成功使用ZXing条形码扫描库,但仅限于横向模式.

我也成功地将相机预览设置为纵向模式并正确显示(没有拉伸),但现在条形码根本不起作用.这是我在"CameraConfigurationManager.java"上对"setDesiredCameraParameters"所做的更改,以便正确显示相机:

void setDesiredCameraParameters(Camera camera)
{
    Camera.Parameters parameters = camera.getParameters();
    Log.d(TAG, "Setting preview size: " + cameraResolution);
    setFlash(parameters);
    setZoom(parameters);
    camera.setDisplayOrientation(90);
    parameters.set("rotation", 90);
    parameters.setPreviewSize(cameraResolution.y, cameraResolution.x);
    camera.setParameters(parameters);
}
Run Code Online (Sandbox Code Playgroud)

我尝试了其他地方提到的一些解决方案,但要么它们不起作用,要么它们有效但无法正确显示相机预览.示例: 如何在纵向模式下使用Zxing? http://code.google.com/p/zxing/issues/detail?id=178#c46 https://github.com/pplante/zxing-android/issues

当我完成后,我还需要自定义矩形的位置和大小到扫描.我知道我需要在"CameraManager.java"上更改"setManualFramingRect",但我不确定我是否正确操作.这是代码:

public void setManualFramingRect(Rect rect)
{
    if (initialized)
    {
        Point screenResolution = configManager.getScreenResolution();
        if (rect.right >= screenResolution.x)
            rect.right = screenResolution.x - 1;
        if (rect.left < 0)
            rect.left = 0;
        if (rect.bottom >= screenResolution.y)
            rect.bottom = screenResolution.y - 1;
        if (rect.top < 0)
            rect.top = 0;
        framingRect = rect;
        Log.d(TAG, "Calculated …
Run Code Online (Sandbox Code Playgroud)

android portrait barcode zxing

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

在Nexus 5x上以纵向反转图像

我一直在研究一个过时的Zxing库版本的旧项目,需要更新以修复Nexus 5x上的反向图像错误.我设法更新了库,但只支持纵向模式.

if (orientation == Configuration.ORIENTATION_LANDSCAPE) {
    source = activity.getCameraManager().buildLuminanceSource(data,
                width, height);
} else {
    byte[] rotatedData = new byte[data.length];
    for (int y = 0; y < height; y++) {
        for (int x = 0; x < width; x++)
            rotatedData[x * height + height - y - 1] = data[x + y
                    * width];
    }
    int tmp = width;
    width = height;
    height = tmp;
    data = rotatedData;
    source = activity.getCameraManager().buildLuminanceSource(data,
                width, height);
}
Run Code Online (Sandbox Code Playgroud)

我现在面临着在我们的Nexus 5X设备上解码条形码的问题,我们的EAN-13条形码似乎在旋转,如下图所示. …

android zxing

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

标签 统计

android ×4

zxing ×4

barcode ×1

landscape-portrait ×1

portrait ×1