V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
Ricoo
V2EX  ›  微信

ios 的微信的 orientation 问题,已找到解决方案

  •  
  •   Ricoo · 2015-09-06 12:59:33 +08:00 · 2912 次点击
    这是一个创建于 3364 天前的主题,其中的信息可能已经有所发展或是发生改变。

    这两天在 ios 上微信开发,涉及到图片获取以及预览,其中遇到的坑真是无数个,其中最大的就是 ios 拍照的图片方向问题。

    在 ios 上是以横拍为正方向,竖拍的话,你会发现图片的宽度是大于高度的,当你把通过微信接口获得的图片的 localId 赋值给 img 的 src 时,就会出现我们看到的方向和实际的方向不一样,当然通过调用微信上的拍照接口或者用拍照软件拍照,或者对图片进行美化处理后不会出现上述情况。

    但是如果要选择以前拍的竖拍的照片,就会出现这个问题,我找了好久,好多种办法,例如画到 canvas 再旋转(跨域问题,不能实现),例如上传到后台处理(时间太久)。

    今天终于发现一种简单方法可以解决了,就是调用微信图片接口的时候
    wx.chooseImage ({

    count: 1, // 默认 9
    
            sizeType: ['compressed'],
    });
    

    sizeType 设为 compressed ,这样微信会去生成压缩图,压缩图就不会有问题了。

    这个问题困扰我好久好久,找了好多方法都没解决,现在找到这个比较简单的方法,也希望分享给其他有类似需求的开发者,大家不要再找的那么悲剧。

    关于 orientation ,可以搜索“ ios orientation ”了解更多。

    1 条回复    2015-09-06 13:23:36 +08:00
    iyaozhen
        1
    iyaozhen  
       2015-09-06 13:23:35 +08:00 via Android
    iOS 微信图片上传接口确实比较好用。 Android 上 bug 比较多(不能选择 sd 卡的照片,上传容易失败等)。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   964 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 23ms · UTC 21:53 · PVG 05:53 · LAX 13:53 · JFK 16:53
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.