为什么微信扫码支付相册限制支付不能读取相册照片

今日论坛第 1 个签到,每日签到可得财富值+2,连续5天签到后再连续签到则每日可得财富值
+4,记得每天都来签到哦~
上一主题:
下一主题:
查看: 188966 | 回复: 2
为什么QQ、微信接收的照片保存了在相册里却看不到?
交易信用 0
积分/帖子:35
连续签到天数:0
全部签到天数:0
注册时间:
手机型号:
状态: 离线
为什么QQ、微信接收的照片保存了在相册里却看不到?
别人用QQ、微信发来的图片能收到,可是保存后都不能在相册里找到?这是为什么呢?以前都可以的
交易信用 0
积分/帖子:1
连续签到天数:0
全部签到天数:0
注册时间:
手机型号:
状态: 离线
回答一个问题太难了!又注册又验证的
很多朋友可能遇到在微信中收到对方发的图片
按保存以后 却在手机相册里找不到
原因其实就是你关闭了微**问相册的权限
只要在手机设置里 找到隐私 相册 然后授权微**问
回到微信重新保存需要的照片或者图片
现在手机相册里就有了
交易信用 0
积分/帖子:433
连续签到天数:1
全部签到天数:57
注册时间:
手机型号:
状态: 离线
这个真不知道啊
微信扫一扫关注dospy使用微信可以识别的图片,为什么使用zxing却不能识别 - iliuyixin - 博客园
posts - 1, comments - 0, trackbacks - 0, articles - 0
最近有个应用需要在服务端解析图片中的二维码,网上查了一下,几乎全是用google zxing的实现。但是测试过程中发现,这玩意比较坑,很多在微信里长按能识别的图片,使用zxing却识别不出来。 于是乎开始了纠结的过程!!!! 搞不懂为啥网上一直没解决方法~~~~~(虽然很多人在问!! 国外也有人在问!!!!),大家都是不求甚解,只能copy代码?? 最终还是自己动手吧!!
给张测试图
google一下
google了很久, 在stackoveflow上找到了一个描述!!大概是说“图片不能超过某个大小”, 结果误导了我!! &将的图片缩小到了的尺寸,结果还真识别出来了。 于是乎我以为问题解决了,识别时我加了一个超出尺寸缩放的逻辑!! 过了一天,再测试,发现还是很多图片识别不出来!! 看来歪果仁也不靠谱
怀疑色差导致的,于是将图片转成灰阶,将偏黑色的全置成“黑色”,其它的全置为白色,这样就得到了一个“黑白图片”。 &失败!!!!
private static BufferedImage toGrayImage(BufferedImage image) {
BufferedImage result =
if (BufferedImage.TYPE_BYTE_GRAY != image.getType()) {
BufferedImage newImage = new BufferedImage(image.getWidth(), image.getHeight(), BufferedImage.TYPE_BYTE_GRAY);
newImage.getGraphics().drawImage(image, <span style="color: #, <span style="color: #, null);
result = newI
Raster raster = result.getRaster();
DataBufferByte buffer = (DataBufferByte) raster.getDataBuffer();
byte[] data = buffer.getData();
for (int i = <span style="color: #; i & data. i++) {
byte value = <span style="color: #;
if (data[i] & <span style="color: #) {
value = -<span style="color: #;
buffer.setElem(i, value);
&怀疑是zxing本身算法问题。
& 这个网站可以直接上传图片,再使用zxing提取结果。 发现这个网站也不行!!! 难道真的有问题? & &然后尝试使用其它的一些API,结果还真没找出靠谱的API来。
确认zxing没问题
偶然间下载了一个使用zxing的android app,该app可以调用摄像头扫描二维码。 而这个app扫描电脑上显示的图片是没有问题的, 这间接证明了zxing可能是没有 问题的。 有了对的例子参照就好,照着改就行了。 然后看了一下Android调用摄像头扫描的代码,按照里面的参数都调整了一下,还是失败 &!!!!&
于是放了一个大招!!! &仿APP的扫描逻辑, 按不同比例、一块地遍历图片扫描! 有GIS的底子,写这些算法还是挺快的 ^_^ &结果还是失败! &
接着将android扫描的结果保存成了图片,对比了一下,也没发现所以然来。快要崩溃了!!
FINAL:突然想到,Android里扫描的图片其实和真实的图片是有差别的, Android里是摄像头拍屏幕“得到”的,拍到的结果肯定比实际的图片“模糊”!! &&
然后我将灰阶处理过的黑白图放大后仔细分析了一下,发现下面的图片其实有很多“杂点”,而手机扫描时,这些“杂点”却被模糊看不出来了。 &,思路出来了!!!! 需要将图片里面影响识别的“杂点”给模糊处理! 再联想到stackoverflow上的一次成功例子,,模糊嘛,将图片缩小不就模糊了。&&
最终处理方法
zxing在识别高清的手机图时,将图片逐步缩小,并扫描!! &就这么简单!!!!!&
下面是代码,测试了好几个图片都可以识别的, 过程有些纠结哎!!!
* QR 二维码工具。
* @author liuyixin
public class QRCodeUtil {
private static final int MAX_QRCODE_SIXE = 1500;
public static String readToString(BufferedImage sourceImage) {
BufferedImage image = toGrayImage(sourceImage);
if (sourceImage.getWidth() & MAX_QRCODE_SIXE && sourceImage.getHeight() & MAX_QRCODE_SIXE) {// second
image = resizeToMaxSize(sourceImage);
String result = readDirectly(image);
if (StringUtils.isNotBlank(result)) {
int minSize = 170;
int imgSize = Math.min(image.getWidth(), image.getHeight());
int level = 1;
while (imgSize & minSize) {
BufferedImage newImage = new BufferedImage((int) (image.getWidth() * Math.pow(0.9, level)),
(int) (image.getHeight() * Math.pow(0.9, level)), image.getType());
newImage.getGraphics().drawImage(image, 0, 0, newImage.getWidth(), newImage.getHeight(), 0, 0, image.getWidth(),
image.getHeight(), null);
result = readDirectly(newImage);
if (StringUtils.isNotBlank(result)) {
imgSize = Math.min(newImage.getWidth(), newImage.getHeight());
return "";
* 将图片转成灰阶。
* @param image
private static BufferedImage toGrayImage(BufferedImage image) {
BufferedImage result =
if (BufferedImage.TYPE_BYTE_GRAY != image.getType()) {
BufferedImage newImage = new BufferedImage(image.getWidth(), image.getHeight(), BufferedImage.TYPE_BYTE_GRAY);
newImage.getGraphics().drawImage(image, 0, 0, null);
result = newI
/*黑白处理
Raster raster = result.getRaster();
DataBufferByte buffer = (DataBufferByte) raster.getDataBuffer();
byte[] data = buffer.getData();
for (int i = 0; i & data. i++) {
byte value = 0;
if (data[i] & 32) {
value = -1;
buffer.setElem(i, value);
* 图片若过大,则缩放图片。
* @param image
private static BufferedImage resizeToMaxSize(BufferedImage image) {
int height = MAX_QRCODE_SIXE;
int width = MAX_QRCODE_SIXE;
if (image.getWidth() & image.getHeight()) {
width = (int) (height * (((double) image.getWidth()) / image.getHeight()));
height = (int) (width * (((double) image.getHeight()) / image.getWidth()));
BufferedImage newImage = new BufferedImage(width, height, BufferedImage.TYPE_BYTE_GRAY);
newImage.getGraphics().drawImage(image, 0, 0, newImage.getWidth() + 1, newImage.getHeight() + 1, 0, 0, image.getWidth(),
image.getHeight(), null);
return newI
private static String readDirectly(BufferedImage image) {
LuminanceSource source = new BufferedImageLuminanceSource(image);
Binarizer binarizer = new HybridBinarizer(source);
BinaryBitmap binaryBitmap = new BinaryBitmap(binarizer);
Map&DecodeHintType, Object& hints = new HashMap&DecodeHintType, Object&();
hints.put(DecodeHintType.CHARACTER_SET, "UTF-8");
return new MultiFormatReader().decode(binaryBitmap, hints).getText();
} catch (NotFoundException e) {
return "";2014年11月 PHP大版内专家分月排行榜第三2014年6月 PHP大版内专家分月排行榜第三2014年4月 PHP大版内专家分月排行榜第三2014年2月 PHP大版内专家分月排行榜第三2013年11月 PHP大版内专家分月排行榜第三
2014年11月 PHP大版内专家分月排行榜第三2014年6月 PHP大版内专家分月排行榜第三2014年4月 PHP大版内专家分月排行榜第三2014年2月 PHP大版内专家分月排行榜第三2013年11月 PHP大版内专家分月排行榜第三
2014年11月 PHP大版内专家分月排行榜第三2014年6月 PHP大版内专家分月排行榜第三2014年4月 PHP大版内专家分月排行榜第三2014年2月 PHP大版内专家分月排行榜第三2013年11月 PHP大版内专家分月排行榜第三
2014年11月 PHP大版内专家分月排行榜第三2014年6月 PHP大版内专家分月排行榜第三2014年4月 PHP大版内专家分月排行榜第三2014年2月 PHP大版内专家分月排行榜第三2013年11月 PHP大版内专家分月排行榜第三
2014年11月 PHP大版内专家分月排行榜第三2014年6月 PHP大版内专家分月排行榜第三2014年4月 PHP大版内专家分月排行榜第三2014年2月 PHP大版内专家分月排行榜第三2013年11月 PHP大版内专家分月排行榜第三
本帖子已过去太久远了,不再提供回复功能。在线时间0 小时
版本V6.5.2.0.KXDCNCD
积分 36, 距离下一级还需 14 积分
积分 36, 距离下一级还需 14 积分
机型小米手机4
MIUI版本V6.5.2.0.KXDCNCD
几年前自从用过安卓1.5-2.3之后再也没用过安卓了,近期买了个MI4当备用机,MIUI的确非常非常好~
但有个问题,为什么QQ、微信等社交App上的图片不能直接保存到本地图库?这样就非常麻烦啊,MIUI的开发组可以实现这个功能吗?
分享到微信朋友圈
打开微信,点击底部的“发现”,使用 “扫一扫” 即可将网页分享到我的朋友圈。
已关联5个BUG提交人处理状态
经验1122 米
在线时间862 小时
版本7.3.23
我是大水逼
机型小米手机5
签到次数74
MIUI版本7.3.23
通过手机发布
本身就可以
经验3249 米
在线时间132 小时
版本7.6.21
机型小米5s
签到次数98
MIUI版本7.6.21
可以的啊,从QQ上还有微信上保存都是直接下载到手机里的,然后会默认上传到云端
经验8123 米
在线时间205 小时
版本7.6.23
机型小米手机5
签到次数165
MIUI版本7.6.23
图库,本地的就行,还有隐藏相册可以打开
小米精神发扬光大
经验16302 米
在线时间505 小时
版本7.6.22
机型小米Note2
签到次数140
MIUI版本7.6.22
通过手机发布
MIUI五周年
MIUI五周年纪念勋章
已关注极客秀微信
已关注微信
关注腾讯微博
已关注腾讯微博
关注新浪微博
已关注新浪微博
小火箭勋章
神舟11号 话题活动
MIUI 300周
MIUI 300周更新纪念勋章
为奥运加油勋章
为奥运加油勋章
MIUI 3000万
MIUI 3000万发烧友纪念勋章
MIUI 2000万
MIUI 2000万发烧友纪念勋章
APP 1000万
MIUI论坛APP注册用户突破1000万纪念勋章
MIUI 7纪念勋章
MIUI六周年
MIUI六周年纪念勋章
Copyright (C) 2017 MIUI
京ICP备号 | 京公网安备34号 | 京ICP证110507号

我要回帖

更多关于 读取微信支付二维码 的文章

 

随机推荐