小程序
小游戏
企业微信
微信支付
扫描小程序码分享
同一台手机,用[小程序示例]上传A图片正常,我们自己小程序、其他开发者的一个小程序上传A相片时颠倒
第一张是[小程序示例],第二张是我们自己小程序,第三张是一款其他开发者的已上线的共享相册小程序
ps.1.不是所有手机都会颠倒(目前测试感觉是IOS会颠倒、安卓不会) 2.不是所有的相片都会颠倒
3 个回答
加粗
标红
插入代码
插入链接
插入图片
上传视频
调用接口的代码能否发一下看看
你好,麻烦通过点击下方“反馈信息”按钮,提供出现问题的。
手动实现了一下反转
// /utils/util.js
const concatArrayBuffer = (... arrays ) => {
let totalLength = 0 ;
for ( let arr of arrays ) {
totalLength += arr . length ;
}
let result = new Uint8ClampedArray ( totalLength );
let offset = 0 ;
result . set ( arr , offset );
offset += arr . length ;
return result ;
const revertImage = ( data , width , height ) => {
if (! data ) return data ;
let dataViews = [];
let len = width * 4 ;
for ( let i = 0 ; i < height ; i ++) {
let start = i * width * 4 ;
let newBuff = data . slice ( start , start + len );
dataViews . unshift ( newBuff );
let result = concatArrayBuffer (... dataViews );
return result . buffer ;
module . exports = {
revertImage
// /pages/XXXPage.js
wx . canvasGetImageData ({
canvasId: 'myCanvas' ,
x: 0 ,
y: 0 ,
width: width ,
height: height ,
success ( res ) {
wx . hideLoading ();
// 3. IOS图像反转
let buffer = res . data . buffer ;
try {
let systemInfo = wx . getSystemInfoSync ();
let platform = systemInfo . platform ;
if ( platform === 'ios' ) {
buffer = util . revertImage ( res . data , res . width , res . height );
} catch ( e ) {
......
这个bug官方已经解决几个月了啊
没解决啊 我们刚刚遇到这问题啊 1小时前还是反的
知道问题在哪了,示例用的wx.previewImage,我们因为要对图片进行处理不能用wx.previewImage,用的image ,同时用了wx.getImageInfo ,但wx.getImageInfo没返相片exif中的Orientation 方向
会解决这个问题么?谢谢@黄思程
关注后,可在微信内接收相应的重要提醒。
请使用微信扫描二维码关注 “微信开放社区” 公众号
调用接口的代码能否发一下看看
手动实现了一下反转
// /utils/util.js
const concatArrayBuffer = (... arrays ) => {
let totalLength = 0 ;
for ( let arr of arrays ) {
totalLength += arr . length ;
}
let result = new Uint8ClampedArray ( totalLength );
let offset = 0 ;
for ( let arr of arrays ) {
result . set ( arr , offset );
offset += arr . length ;
}
return result ;
}
const revertImage = ( data , width , height ) => {
if (! data ) return data ;
let dataViews = [];
let len = width * 4 ;
for ( let i = 0 ; i < height ; i ++) {
let start = i * width * 4 ;
let newBuff = data . slice ( start , start + len );
dataViews . unshift ( newBuff );
}
let result = concatArrayBuffer (... dataViews );
return result . buffer ;
}
module . exports = {
revertImage
}
// /pages/XXXPage.js
wx . canvasGetImageData ({
canvasId: 'myCanvas' ,
x: 0 ,
y: 0 ,
width: width ,
height: height ,
success ( res ) {
wx . hideLoading ();
// 3. IOS图像反转
let buffer = res . data . buffer ;
try {
let systemInfo = wx . getSystemInfoSync ();
let platform = systemInfo . platform ;
if ( platform === 'ios' ) {
buffer = util . revertImage ( res . data , res . width , res . height );
}
} catch ( e ) {
}
......
这个bug官方已经解决几个月了啊
没解决啊 我们刚刚遇到这问题啊 1小时前还是反的
知道问题在哪了,示例用的wx.previewImage,我们因为要对图片进行处理不能用wx.previewImage,用的image ,同时用了wx.getImageInfo ,但wx.getImageInfo没返相片exif中的Orientation 方向
会解决这个问题么?谢谢@黄思程