# PNGReader4cj **Repository Path**: wyangvip/PNGReader4cj ## Basic Information - **Project Name**: PNGReader4cj - **Description**: 仓颉(cangjie/cj)语言测试,实现部分读取png的功能 - **Primary Language**: 其他 - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-07-21 - **Last Updated**: 2025-08-05 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README ## 说明 使用仓颉实现了png图片格式的解析,因为是测试的一个项目,当前只解析IHDR,IDAT数据块: 包括:读取IHDR参数(width,height,bitDepth,colorType等) IDAT数据块合并->使用zlib流式解压->多线程同步处理解压后结果还原为数组,类似于python中的PIL的imread ### Deepin安装cangjie ``` $ vi /etc/profile # 添加 export CANGJIE_SDK_PATH=/home/yang/tools/cangjie export CANGJIE_STDX_PATH=/home/yang/tools/cangjie/stdx export CANGJIE_HOME=/home/yang/tools/cangjie export PATH=${CANGJIE_HOME}/bin:${CANGJIE_HOME}/tools/bin:$PATH:${HOME}/.cjpm/bin export LD_LIBRARY_PATH=${CANGJIE_HOME}/runtime/lib/linux_x86_64_llvm:${CANGJIE_HOME}/tools/lib:${LD_LIBRARY_PATH} $ source /etc/profile # 测试 cjc -v cjpm -v ``` ### 包管理 编译或运行程序: ``` cjpm init cjpm build cjpm run cjc main.cj -o ./dist/main ./dist/main ``` ### 第一个程序 创建main.cj ``` // 尚未分块延迟加载png main() { let pf: PNGFile = PNGFile(path) let arr = pf.asArray() } ``` ### 参考 1. https://cangjie-lang.cn/