int EncodeBGRAtoWebP(
const uint8_t* bgra,
int width,
int height,
int stride,
float quality,
int lossless,
uint8_t** output,
size_t* outputSize);
- BGRA形式の画像をWebPへ変換
- lossless = 1 でロスレス、それ以外はロッシー
- quality はロッシー時のみ有効(0~100)
- 成功時:1 / 失敗時:0
int EncodeRGBAtoWebP(
const uint8_t* rgba,
int width,
int height,
int stride,
float quality,
int lossless,
uint8_t** output,
size_t* outputSize);
void FreeWebP(uint8_t* data);
- Encode関数で確保されたメモリを解放
- 必ず呼ぶこと(解放しないとメモリリーク)
output はアドレスを受け取るためのポインタのポインタ(C#では out IntPtr 等)
output は libwebp 側で確保される
- 使用後は必ず
FreeWebP で解放すること
stride は「1行あたりのバイト数」
- 4チャンネル(RGBA/BGRA)画像の場合、基本的には
stride = width * 4 となる
- ピクセルフォーマットが一致していないと壊れた画像になる