eZIPSDK For iOS¶
思澈 iOS eZipSDK
1.集成¶
1.1 导入eZIPSDK¶
eZIPSDK.framework
Swift Package
https://github.com/OpenSiFli/eZIPSDK_ios.git
Cocoapod
pod 'eZIPSDK','2.5.5'
2.接口定义¶
png/gif
芯片板子类型
typedef NS_ENUM(NSUInteger, SFBoardType) {
SFBoardType55X = 0,
SFBoardType56X = 1,
SFBoardType52X = 2,
SFBoardType57X = 3,
SFBoardType58X = 4
};
/// png格式文件转为ezipBin类型。转换失败返回nil。
/// @param pngData png文件数据 或者Gif数据
/// @param eColor 颜色字符串 color type as below: rgb565, rgb565A, rbg888, rgb888A
/// @param eType eizp类型 0 keep original alpha channel;1 no alpha chanel
/// @param binType bin类型 0 to support rotation; 1 for no rotation
/// @param boardType 主板类型 @See SFBoardType
/// @return ezip or apng result, nil for fail
+(nullable NSData *)EBinFromPNGData:(NSData *)pngData
eColor:(NSString *)eColor
eType:(uint8_t)eType
binType:(uint8_t)binType
boardType:(SFBoardType)boardType;
序列帧
/// Nor 方案 将png格式文件序列转为ezipBin类型。转换失败返回nil。
/// @param pngDatas png文件数据序列
/// @param eColor 颜色字符串 color type as below: rgb565, rgb565A, rbg888, rgb888A
/// @param eType eizp类型 0 keep original alpha channel;1 no alpha chanel
/// @param binType bin类型 0 to support rotation; 1 for no rotation
/// @param boardType 主板类型 @See SFBoardType
/// @param interval 序列帧间隔
/// @return ezip or apng result, nil for fail
+(nullable NSData *)EBinFromPngSequence:(NSArray<NSData *> *)pngDatas
eColor:(NSString *)eColor
eType:(uint8_t)eType
binType:(uint8_t)binType
boardType:(SFBoardType)boardType
interval:(uint32_t)interval;
设置lvgl版本
/// 设置lvgl版本 7/8/9
/// @param lvglVersion 7/8/9
+(void)setLvglVersion:(uint8_t)lvglVersion;
gzip
/// GZip压缩
/// @param inData 输入数据
/// @return gzip data,nil for fail 没有header和length,不需要做偏移
+(nullable NSData *)gzipWithData:(NSData *)inData;
3.使用¶
let convertedResult = ImageConvertor.eBin(fromPNGData: srcData, eColor: "rgb565", eType: UInt8(0), binType: UInt8(1), boardType: 1)