相关疑难解决方法(0)

如何在纵向模式下使用Zxing?

目前zxing库仅支持横向模式.对于我的应用程序,我需要在纵向模式下使用

android

23
推荐指数
5
解决办法
3万
查看次数

相机:setDisplayOrientation功能不适用于Android 2.3.6的三星Galaxy ACE

我试图创建一个简单的相机应用程序进行研究.我阅读Android Camera Official Document然后开始编码.所以我做了一些步骤让它发挥作用

1.在应用中添加了相机功能所需的权限.

2.我的活动仅限于PORTRAIT模式.

setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);

3.增加了几个相机回调以使我的相机工作.

  • SurfaceHolder.Callback,
  • Camera.PreviewCallback
  • AutoFocusCallback
  • ShutterCallback
  • PictureCallback用于RAW图像数据
  • PictureCallback用于JPG图像数据

4.In surfaceChanged方法,我自定义相机设置.到目前为止,我已经为几乎所有Android设备工作了

  • LG
  • 香料
  • 三星
  • HTC
  • 福邦
  • 索尼
  • 摩托罗拉
  • 谷歌Nexus系列.

随后我在Android版2.3.6的三星Galaxy ACE上进行了测试,发现Camera Display Preview已转为横向模式.

因此,在记录了log-cat/break点后,我发现下面的方法对于这个特定的模型不起作用

//This method is not working for Samsung Galaxy ACE
 camera.setDisplayOrientation(90); 
//or 
parameters.set("orientation", "portrait");
//or
parameters.setRotation(90);
Run Code Online (Sandbox Code Playgroud)

注意: 我在Google和SO上搜索了大量解决方案,但到目前为止还没有任何运气

供您参考我的示例代码如下

@Override
    public void surfaceChanged(SurfaceHolder arg0, int arg1, int arg2, int arg3) {
        Log.v(TAG, "surfaceChanged get called"); …
Run Code Online (Sandbox Code Playgroud)

camera android portrait android-camera samsung-mobile

20
推荐指数
1
解决办法
2万
查看次数

Android zxing - 人像摄像头预览/ surfaceview拉伸/扭曲

我已设法使用此处的答案将相机预览旋转为肖像:http: //code.google.com/p/zxing/issues/detail?id = 178#c46

然而,预览本身是拉伸/扭曲的 - 高度似乎是拉伸以填充框(但可能是宽度对于屏幕太大而且它被压扁以适应)

有没有办法"包装"内容而不是让它拉伸以适应表面视图?

编辑:我通过改变'CameraConfigurationManager'中的'findBestPreviewSizeValue'方法并反转X和Y点(对于下面指针的sean owen!)进行排序,这里是代码:

private static Point findBestPreviewSizeValue(CharSequence previewSizeValueString,
  Point screenResolution) {
int bestX = 0;
int bestY = 0;
int diff = Integer.MAX_VALUE;
for (String previewSize : COMMA_PATTERN.split(previewSizeValueString)) {

  previewSize = previewSize.trim();
  int dimPosition = previewSize.indexOf('x');
  if (dimPosition < 0) {
    Log.w(TAG, "Bad preview-size: " + previewSize);
    continue;
  }

  int newX;
  int newY;
  try {
    newY = Integer.parseInt(previewSize.substring(0, dimPosition));
    newX = Integer.parseInt(previewSize.substring(dimPosition + 1));
    //original:
    //newX = Integer.parseInt(previewSize.substring(0, dimPosition));
    //newY = …
Run Code Online (Sandbox Code Playgroud)

android portrait stretching surfaceview zxing

17
推荐指数
1
解决办法
7878
查看次数

Zxing的自定义相机视图和旋转QR码?

我正在与这样一个伟大的图书馆zxing一起阅读二维码.我已经成功获得了二维码.

现在,我的应用程序以横向模式运行,相机占据整个屏幕,红色QR检测矩形框位于中间.我想将其更改为纵向模式并仅使用红色QR检测矩形框替换相机视图.

我更改了zxing库清单文件中的CaptureActivity标记.

android:screenOrientation="portrait".

但没有发现我真正想要的东西.我不知道在哪里更改/编写代码来获取此信息.

android qr-code zxing

8
推荐指数
2
解决办法
2万
查看次数

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
查看次数