Skip to content

Latest commit

 

History

History
65 lines (49 loc) · 1.3 KB

File metadata and controls

65 lines (49 loc) · 1.3 KB

仕様

エクスポート関数

EncodeBGRAtoWebP

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

EncodeRGBAtoWebP

int EncodeRGBAtoWebP(
    const uint8_t* rgba,
    int width,
    int height,
    int stride,
    float quality,
    int lossless,
    uint8_t** output,
    size_t* outputSize);
  • RGBA形式版
  • 仕様はBGRA版と同じ

FreeWebP

void FreeWebP(uint8_t* data);
  • Encode関数で確保されたメモリを解放
  • 必ず呼ぶこと(解放しないとメモリリーク)

注意点

  • output はアドレスを受け取るためのポインタのポインタ(C#では out IntPtr 等)
  • output は libwebp 側で確保される
  • 使用後は必ず FreeWebP で解放すること
  • stride は「1行あたりのバイト数」
  • 4チャンネル(RGBA/BGRA)画像の場合、基本的には stride = width * 4 となる
  • ピクセルフォーマットが一致していないと壊れた画像になる