eZIPSDK For Harmony¶
思澈 鸿蒙 eZipSDK
1.集成¶
使用
ohpm以安装@sifli/ezipsdk
ohpm install @sifli/ezipsdk
oh-package.json5指定版本号
"@sifli/ezipsdk": "2.5.5"
2.接口定义¶
png/gif
export class SFBoardType {
/**
* chip 55x
*/
static readonly SF_BOARD_TYPE_55X: number = 0;
/**
* chip 56x
*/
static readonly SF_BOARD_TYPE_56X: number = 1;
/**
* chip 52X
*/
static readonly SF_BOARD_TYPE_52X: number = 2;
/**
* chip 57x
*/
static readonly SF_BOARD_TYPE_57X: number = 3;
/**
* chip 58x
*/
static readonly SF_BOARD_TYPE_58X: number = 4;
static isValidBoardType(boardType: number): boolean {
return boardType >= 0 && boardType <= SFBoardType.SF_BOARD_TYPE_58X;
}
}
/**
* transform png data to ezip bin, support gif to apng
* @param pngData png or gif data
* @param colorType color type as below: rgb565, rgb565A, rbg888, rgb888A
* @param ezip_color_type
* 0 keep original alpha channel
* 1 no alpha channel
* @param ezip_bin_type
* set 0 to support rotation
* set 1 for no rotation
* @param boardType @see SFBoardType
* @return ezip or apng result, null,exception for fail
*/
static pngToEzip(pngData: Uint8Array, colorType: string, ezip_color_type: number, ezip_bin_type: number,
boardType: number): Uint8Array
序列帧
/**
* Convert a set of png images
* @param pngData png data as arraylist, will be converted in the order of the images in the arraylist
* @param colorType color type as below: rgb565, rgb565A, rbg888, rgb888A
* @param ezip_color_type
* 0 keep original alpha channel
* 1 no alpha channel
* @param ezip_bin_type
* set 0 to support rotation
* set 1 for no rotation
* @param boardType @see SFBoardType
* @param interval 动画间隔 0 默认间隔
* @return ezip or apng result, null for fail
*/
public static pngToEzipSequence(pngData: ArrayList<Uint8Array>, colorType: string,
ezip_color_type: number, ezip_bin_type: number, boardType: number, interval: number): Uint8Array
设置lvgl版本
/**
* 设置lvgl version
* @param lvglVersion 7/8/9
* */
public static setLvglVersion(lvglVersion:number):void
gzip
/**
* gzip 数据压缩
* @param inData 输入原始数据
* @return gzip数据,返回null失败 没有header和length,不需要做偏移
* */
public static gzipWithData(inData: Uint8Array): Uint8Array
3.使用¶
const pngData: Uint8Array = this.getPngData();
let binArray = SifliEzipUtil.pngToEzip(pngData, "RGB565A", 0, 1, 1);