ubuntu下cximage功能概览
在 ubuntu 环境中,cximage 以源码方式使用,提供跨平台的图像编解码与常见处理能力,适合做格式转换、缩放旋转、色彩调整、滤镜与二值化等任务,并能处理带有 alpha 通道 的图像与多帧图像。其特性与接口在 linux 下与 windows 基本一致,便于迁移与集成。
核心功能清单
- 图像 i/o 与格式转换:支持 bmp、gif、ico、tga、jpeg、png、tiff、mng、ras 等格式的读取与写入,可在多种格式间便捷转换(如 png 转 tiff、bmp 转 jpg)。
- 几何变换:图像 缩放(resample)、旋转、裁剪、翻转(flip/mirror)。
- 色彩与亮度对比度:调整 亮度、对比度、饱和度,支持 灰度化、颜色反转(negative)、着色(colorize)、日晒化(solarize) 等。
- 图像滤波与边缘增强:内置 2d 线性滤波、锐化、模糊(如高斯模糊)、边缘/轮廓增强(edge/contour)。
- 二值化与阈值:支持 阈值化(threshold)、自适应阈值(adaptive threshold)、抖动(dither)。
- 形态学操作:膨胀(dilate)、腐蚀(erode)。
- 噪声与特效:加噪(noise)、抖动偏移(jitter)。
- 像素与通道:像素读写(setpixelcolor/getpixelcolor)、alpha 通道 支持与透明处理。
- 多帧与属性:支持 多帧图像操作,可获取/设置 dpi(getxdpi/getydpi) 等属性。
- 编码参数:可设置 jpeg 质量(setjpegquality) 等。
- 文件与内存 i/o:支持从 文件/内存 加载与编码,便于网络传输或内存处理场景。
常用接口示例
- 基本加载与保存:使用 load/save 完成格式转换,例如将 png 转为 jpg。
- 缩放与旋转:调用 resample(newx, newy) 进行缩放,使用 rotate(90) 旋转 90°。
- 色彩与特效:通过 light(brightness, contrast) 调整亮度对比度,使用 grayscale()/negative()/sharpen()/gaussianblur(3) 等实现常用效果。
- 二值化与阈值:threshold(128) 进行固定阈值二值化,adaptivethreshold() 做自适应阈值。
- 内存编码:借助 cxmemfile 与 encode 将图像编码到内存缓冲区,适合服务端或嵌入式无文件场景。
在ubuntu下的使用要点
- 构建方式:通常从源码构建,先安装依赖(如 libpng-dev、libjpeg-dev),再用 cmake 配置与 make 编译,生成静态/动态库后链接到项目。
- 可选格式支持:库内部依赖若干基础库(如 zlib、jpeg、png、tiff、jasper、jbig 等);在 ximacfg.h 中可按需开启/关闭特定格式支持,减小体积或规避依赖缺失。
- 链接与运行:编译时链接 -lcximage 及相应格式库(如 -ljpeg -ltiff -lpng -lz 等);部署时确保运行环境可找到对应的 共享库(.so)。