NIMSDK-iOS
载入中...
搜索中...
未找到
NIMImageObject.h
浏览该文件的文档.
1//
2// NIMImageObject.h
3// NIMLib
4//
5// Created by Netease.
6// Copyright (c) 2015年 Netease. All rights reserved.
7//
8
10#import "NIMPlatform.h"
11
12NS_ASSUME_NONNULL_BEGIN
13/**
14 * 图片格式
15 */
16typedef NS_ENUM(NSInteger, NIMImageFormat)
17{
18 /**
19 * Jpeg格式
20 */
22 /**
23 * Png格式
24 */
26};
27
28/**
29 * 图片选项
30 */
31@interface NIMImageOption : NSObject
32/**
33* 压缩参数默认为 0.5,可传入0.0-1.0的值,如果传入非法参数,则按照 0.5 进行压缩
34*/
35@property (nonatomic,assign) float compressQuality;
36
37/**
38 * 图片压缩格式,默认为JPEG
39 */
40@property (nonatomic,assign) NIMImageFormat format;
41
42@end
43
44/**
45 * 图片实例对象
46 */
47@interface NIMImageObject : NSObject<NIMMessageObject>
48
49/**
50 * 图片实例对象初始化方法
51 *
52 * @param image 要发送的图片
53 *
54 * @return 图片实例对象
55 */
56- (instancetype)initWithImage:(UIImage*)image;
57
58/**
59 * 图片实例对象初始化方法
60 *
61 * @param filepath 要发送的图片路径
62 *
63 * @discussion 使用此方法上传是不做压缩转换的原图上传。iOS 11 苹果采用了新的图片格式 HEIC ,如果采用原图会导致其他设备的兼容问题,请开发者在上层做好格式的兼容转换。
64 *
65 * @return 图片实例对象
66 */
67- (instancetype)initWithFilepath:(NSString *)filepath;
68
69
70/**
71 * 图片实例对象初始化方法
72 *
73 * @param data 图片数据
74 * @param extension 推荐使用的图片数据后缀名
75 *
76 * @return 图片实例对象
77 */
78- (instancetype)initWithData:(NSData *)data
79 extension:(NSString *)extension;
80
81
82/**
83 * 图片实例对象初始化方法
84 *
85 * @param image 要发送的图片
86 * @param scene 场景类别
87 *
88 * @return 图片实例对象
89 */
90- (instancetype)initWithImage:(UIImage*)image scene:(NSString *)scene;
91
92
93/**
94 * 图片实例对象初始化方法
95 *
96 * @param filepath 要发送的图片路径
97 * @param scene 场景类别
98 *
99 * @discussion 使用此方法上传是不做压缩转换的原图上传。iOS 11 苹果采用了新的图片格式 HEIC ,如果采用原图会导致其他设备的兼容问题,请开发者在上层做好格式的兼容转换。
100 *
101 * @return 图片实例对象
102 */
103- (instancetype)initWithFilepath:(NSString *)filepath scene:(NSString *)scene;
104
105
106/**
107 * 图片实例对象初始化方法, 可用于发送Webp图片
108 *
109 * @param filepath 要发送的图片路径
110 * @param scene 场景类别
111 * @param size 图片宽高,当发送文件为Webp时须需要传入该图片尺寸大小
112 *
113 * @discussion 使用此方法上传是不做压缩转换的原图上传。iOS 11 苹果采用了新的图片格式 HEIC ,如果采用原图会导致其他设备的兼容问题,请开发者在上层做好格式的兼容转换。
114 *
115 * @return 图片实例对象
116 */
117- (instancetype)initWithFilepath:(NSString *)filepath
118 scene:(NSString *)scene
119 size:(CGSize)size;
120
121
122/**
123 * 图片实例对象初始化方法
124 *
125 * @param data 图片数据
126 * @param extension 推荐使用的图片数据后缀名
127 * @param scene 场景类别
128 *
129 * @return 图片实例对象
130 */
131- (instancetype)initWithData:(NSData *)data
132 extension:(NSString *)extension
133 scene:(NSString *)scene;
134
135
136/**
137 * 图片实例对象初始化方法, 可用于发送Webp图片
138 *
139 * @param data 图片数据
140 * @param extension 推荐使用的图片数据后缀名
141 * @param scene 场景类别
142 * @param size 图片宽高,当发送文件为Webp时须需要传入该图片尺寸大小
143 *
144 * @return 图片实例对象
145 */
146- (instancetype)initWithData:(NSData *)data
147 extension:(NSString *)extension
148 scene:(NSString *)scene
149 size:(CGSize)size;
150
151/**
152* 设置上传的url,用于发送已经上传好的资源
153*
154* @param urlString 图片的地址
155*
156*/
157- (void)setUploadURL:(NSString *)urlString;
158
159/**
160 * 文件展示名
161 */
162@property (nullable, nonatomic, copy) NSString *displayName;
163
164
165/**
166 * 图片本地路径
167 * @discussion 目前 SDK 没有提供下载大图的方法,但推荐使用这个地址作为图片下载地址,APP 可以使用自己的下载类或者 SDWebImage 做图片的下载和管理
168 */
169@property (nullable, nonatomic, copy, readonly) NSString *path;
170
171/**
172 * 缩略图本地路径
173 */
174@property (nullable, nonatomic, copy, readonly) NSString *thumbPath;
175
176
177/**
178 * 图片远程路径
179 */
180@property (nullable, nonatomic, copy, readonly) NSString *url;
181
182/**
183 * 缩略图远程路径
184 * @discussion 仅适用于使用云信上传服务进行上传的资源,否则无效。
185 */
186@property (nullable, nonatomic, copy, readonly) NSString *thumbUrl;
187
188/**
189 * 图片尺寸
190 */
191@property (nonatomic, assign, readonly) CGSize size;
192
193/**
194 * 图片选项
195 * @discussion 仅在发送时且通过 initWithImage: 方式初始化才有效
196 */
197@property (nullable, nonatomic ,strong) NIMImageOption *option;
198
199/**
200 * 文件大小
201 */
202@property (nonatomic, assign, readonly) long long fileLength;
203
204/**
205 * 图片MD5
206 */
207@property (nullable,nonatomic, copy, readonly) NSString *md5;
208@end
209
210NS_ASSUME_NONNULL_END
NIMImageFormat
Definition: NIMImageObject.h:17
@ NIMImageFormatJPEG
Definition: NIMImageObject.h:21
@ NIMImageFormatPNG
Definition: NIMImageObject.h:25
Definition: NIMImageObject.h:47
Definition: NIMImageObject.h:32
NIMImageFormat format
Definition: NIMImageObject.h:40
float compressQuality
Definition: NIMImageObject.h:35
Definition: NIMMessageObjectProtocol.h:20