Skip to main content

Module ffi

Module ffi 

Source
Expand description

Foreign Function Interface (FFI) bindings to LibRaw C API

This module provides safe Rust bindings to the LibRaw C library functions. LibRaw is a library for reading RAW files from digital cameras.

The bindings include:

  • Core initialization and cleanup functions
  • File opening and processing operations
  • Thumbnail extraction functionality
  • Memory management helpers
  • Error code constants and utilities

Structs§

libraw_processed_image_t

Enums§

libraw_data_t

Constants§

LIBRAW_BAD_CROP
错误的裁剪参数
LIBRAW_CANCELLED_BY_CALLBACK
操作被回调取消
LIBRAW_DATA_ERROR
数据错误(损坏的文件)
LIBRAW_FILE_UNSUPPORTED
不支持的文件格式
LIBRAW_IMAGE_BITMAP
位图格式图像(未压缩的 RGB 数据)
LIBRAW_IMAGE_JPEG
JPEG 格式图像
LIBRAW_INPUT_CLOSED
输入已关闭
LIBRAW_INSUFFICIENT_MEMORY
内存不足
LIBRAW_IO_ERROR
I/O 错误(读写失败)
LIBRAW_MEMPOOL_OVERFLOW
内存池溢出
LIBRAW_NO_THUMBNAIL
没有缩略图
LIBRAW_OPIONS_NO_DATAERR_CALLBACK
禁用数据错误回调
LIBRAW_OPIONS_NO_MEMERR_CALLBACK
禁用内存错误回调
LIBRAW_OPTIONS_NONE
无特殊选项
LIBRAW_OUT_OF_ORDER_CALL
函数调用顺序错误
LIBRAW_REQUEST_FOR_NONEXISTENT_IMAGE
请求不存在的图像
LIBRAW_SUCCESS
操作成功
LIBRAW_TOO_BIG
图像太大
LIBRAW_UNSPECIFIED_ERROR
未指定错误
LIBRAW_UNSUPPORTED_THUMBNAIL
不支持的缩略图格式

Functions§

libraw_close
关闭 LibRaw 实例并释放所有资源
libraw_dcraw_clear_mem
释放由 libraw_dcraw_make_mem_* 分配的内存
libraw_dcraw_make_mem_thumb
从缩略图数据创建内存中的图像 errc: 输出参数,接收错误代码 返回: 指向处理后图像的指针,失败时返回 NULL
libraw_dcraw_process
处理 RAW 数据(去马赛克、色彩转换等)
libraw_init
初始化 LibRaw 实例 flags: 初始化标志,通常使用 LIBRAW_OPTIONS_NONE 返回: 指向 libraw_data_t 的指针,失败时返回 NULL
libraw_open_file
打开 RAW 文件 data: LibRaw 实例指针 filename: 文件名(UTF-8 字符串) 返回: LIBRAW_SUCCESS 表示成功,其他值表示错误
libraw_recycle
回收 LibRaw 实例的数据流,准备处理新文件 这比 libraw_close 更轻量级,不会释放所有内存
libraw_strerror
获取错误代码的描述字符串
libraw_unpack
解包 RAW 文件数据(解析文件头和基本信息)
libraw_unpack_thumb
解包缩略图数据
libraw_version
获取 LibRaw 版本字符串
libraw_versionNumber
获取 LibRaw 版本号(整数格式)