swan.getImageInfo

解释:获取图片信息

# 方法参数

Object object

# object参数说明

属性名 类型 必填 默认值 说明
src String 图片的路径,可以是相对路径、临时文件路径或存储文件路径、网络图片。
success Function 接口调用成功的回调函数
fail Function 接口调用失败的回调函数
complete Function 接口调用结束的回调函数(调用成功、失败都会执行)

# success 返回参数说明

参数 类型 说明
width Number 图片宽度(单位:px)
height Number 图片高度(单位:px)
path String 返回图片的本地路径
orientation String 返回图片的方向:
· up:默认不变;
· down:180 度旋转;
· left:逆时针 90 度旋转;
· right:顺时针 90 度旋转;
· up-mirrored:镜像翻转;
· down-mirrored:镜像 180 旋转;
· left-mirrored:逆时针 90 度镜像旋转;
· right-mirrored:顺时针 90 度镜像旋转。
type String 返回图片的格式

# 示例

扫码体验
重新加载
请使用百度APP扫码

# 图片示例

# 代码示例 1: 绝对路径图片

    <view class="wrap">
        <view class="card-area">
            <image mode="aspectFill" class="display-area-image" src="https://b.bdstatic.com/miniapp/image/getImageInfo.png"></image>
            <view class="top-description border-bottom">图片信息</view>
            <view class="list-area border-bottom" s-for="item in infoList">
                <view class="list-item-key-4">{{item.chineseName}}}</view>
                <view class="list-item-value">{{item.value}}</view>
            </view>
        </view>
        <view class="swan-security-padding-bottom flex-button">
            <button type="primary" class="bottom-btn" bindtap="getImageInfo">获取图片信息</button>
        </view>
    </view>
    
    Page({
        data: {
            infoList: [{
                chineseName: '图片宽度',
                engName: 'width', 
                value: ''
            }, {
                chineseName: '图片高度',
                engName: 'height', 
                value: ''
            }, {
                chineseName: '文件格式',
                engName: 'type', 
                value: ''
            }, {
                chineseName: '图片路径',
                engName: 'path', 
                value: ''
            }, {
                chineseName: '方向',
                engName: 'orientation', 
                value: ''
            }]
        },
    
        getImageInfo() {
            swan.getImageInfo({
                src: 'https://b.bdstatic.com/miniapp/image/getImageInfo.png',
                success: res => {
                    console.log('getImageInfo success', res);
                    this.updateInfoList(res);
                },
                fail: err => {
                    console.log('getImageInfo fail', err);
                }
            });
        },
    
        updateInfoList(res) {
            let infoList = this.data.infoList;
            for ( let item of infoList ) {
                if (res[item.engName] === '') {
                    item.value = '暂无';
                }
                else {
                    if( item.engName == 'width' ||  item.engName == 'height' ){
                    item.value = res[item.engName] + 'px';
                    }
                    else {
                        item.value = res[item.engName];
                    }
                }
            }
            this.setData('infoList', infoList);
        }
    });
    
    

    # 代码示例 2: 相对路径图片

      Page({
          getImageInfo() {
              swan.getImageInfo({
                  src: '../images/ai.png',
                  success: res => {
                      console.log('getImageInfo success', res);
                  },
                  fail: err => {
                      console.log('getImageInfo fail', err);
                  }
              });
          }
      });
      

      # 代码示例 3: 临时文件路径

        <view class="wrap">
            <view class="card-area">
                <view class="top-description border-bottom">图片信息</view>
                <view class="list-area border-bottom" s-for="item in infoList">
                    <view class="list-item-key-4">{{item.chinaName}}}</view>
                    <view class="list-item-value">{{item.value}}</view>
                </view>
            </view>
            <view class="swan-security-padding-bottom flex-button">
                <button type="primary" class="bottom-btn" bindtap="getImageInfo">选择一张图片并获取信息</button>
            </view>
        </view>
        
        Page({
            data: {
                infoList: [{
                    chinaName: '图片宽度',
                    engName: 'width', 
                    value: ''
                }, {
                    chinaName: '图片高度',
                    engName: 'height', 
                    value: ''
                }, {
                    chinaName: '文件格式',
                    engName: 'type', 
                    value: ''
                }, {
                    chinaName: '图片路径',
                    engName: 'path', 
                    value: ''
                }, {
                    chinaName: '方向',
                    engName: 'orientation', 
                    value: ''
                }]
            },
        
            getImageInfo() {
                swan.chooseImage({
                    count: 1,
                    sizeType: ['original', 'compressed'], 
                    sourceType: ['camera'],
                    success: res => {
                        console.log(res.tempFilePaths);
                        this.setData('imageList', res.tempFilePaths);
                        swan.getImageInfo({
                            src: res.tempFilePaths[0],
                            success: res => {
                                console.log('getImageInfo success', res);
                                this.updateInfoList(res);
                            },
                            fail: err => {
                                console.log('getImageInfo fail', err);
                            }
                        });
                    },
                    fail: err => {
                        console.log('错误码:' + err.errCode);
                        console.log('错误信息:' + err.errMsg);
                    }
                });
            },
        
            updateInfoList(res) {
                let infoList = this.data.infoList;
                for ( let item of infoList ) {
                    if (res[item.engName] === '') {
                        item.value = '暂无';
                    }
                    else {
                        if( item.engName == 'width' ||  item.engName == 'height' ){
                        item.value = res[item.engName] + 'px';
                        }
                        else {
                            item.value = res[item.engName];
                        }
                    }
                }
                this.setData('infoList', infoList);
            }
        });
        
        

        # 错误码

        # Android

        错误码 说明
        201 解析失败,请检查调起协议是否合法
        202 解析失败,请检查参数是否正确
        1001 执行失败

        # iOS

        错误码 说明
        202 解析失败,请检查参数是否正确
        1003 读取图片内容为空(小程序文件夹为空或读取图片失败)