1.修改manifest文件,将CaptureActivity设为portrait
android:screenOrientation="portrait"
2.在DecodeHandler.java文件中,找到decode(byte[],int,int)方法,在buildLuminanceSource调用前,加上如下:
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;
3.在CameraManager.java中找到getFramingRectInPreview()方法, 替换相应代码
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 * cameraResolution.x / screenResolution.y;
4.在CameraConfigurationManager.java里找到setDesiredCameraParameters()方法,在
camera.setParameters(parameters)之前加入
camera.setDisplayOrientation(90);
5.这一步最关键了,之前有人说是去掉一部分代码,这样会导致扫描的东西变扁。正确的方法应该为:在CameraConfigurationManager.java里找到initFromCameraParameters(Camera camera)方法,改为
Camera.Parameters parameters = camera.getParameters();
WindowManager manager = (WindowManager) context .getSystemService(Context.WINDOW_SERVICE);
Display display = manager.getDefaultDisplay();
int width = display.getWidth();
int height = display.getHeight();
if (width < height) {
int temp = width;
width = height;
height = temp;
}
screenResolution = new Point(height, width);
cameraResolution = findBestPreviewSizeValue(parameters, new Point(width, height));
把这个方法内容全部替换成以上代码就OK啦,大功告成!
转自 http://blog.csdn.net/bxs412/article/details/8616054
分享到:
相关推荐
Zxing2.1竖屏设置,经测试完美通过。
zxing 竖屏直接改竖屏时,扫描的框很小,把扫描框拉大,扫描距离不用拉很长
Android Zxing 扫描条码实现竖屏模式(portrait mode) 摄像头camera 旋转90度 具体实现
最新zxing版本,编译好的zxing,生成二维码,解码二维码,一维码,条形码
ZXing (pronounced "zebra crossing") is an open-source, multi-format 1D/2D barcode image processing library implemented in Java, with ports to other languages. Our focus is on using the built-in camera...
ZXing 2.1版GBK中文乱码解决办法: zxing中扫瞄二维码图片,如果包含Gbk中文,乱码解决办法是修改DecodedBitStreamParser.h文件,在里面加入GBK的判断。 在2.1版本中,解码的定义不在这个类中了,挪到了...
Zxing二维码扫描,竖屏仿QQ扫一扫
google二维码生成zxing-2.1.jar 已经包含core 与javase两个包,把这两个重要的包打包到一个jar中了,完美使用(亲测)
zxing 竖屏 android 快速 精准 适配
亲测,完美支持横屏改竖屏,不变形,识别速度还不错! 包含3.2源码包和修改方法。
看其他的下载都太贵了,这个虽然不是最新的,照样可以用。
google zxing源码竖屏完美解决,竖屏时二维码图片不改变大小。
http://blog.csdn.net/nie312122330/article/details/40923723
ZXing-2.1-testdata
google zxing 2.1 jar 编译包QR二维码
在精简zxing的基础上,矫正扫描变形;增加闪光灯功能;增加屏幕适配控制;控制扫描识别区和扫描框的位置(之前是默认居中,先改为偏上);修改扫描动画为横线掉落动画。
ZXing Android二维码/条码扫描,2020 Android Studio版本,横竖屏都支持
ZXing-2.1条码扫描核心的Jar包,附带android-integration的jar包
zxing完美竖屏扫码实现,小米2测试通过
在C#下通过DirectShow控制摄像头,实现快照后解码二维码。 在win2k3及win7下测试通过,是对QR和pdf417的识别。 对gbk编码汉字的识别后是乱码,对utf-8编码的汉字可识别,部分二维码不能识别。...