typeset 0.1.0
縦書き・横書きの日本語組版ライブラリ(JLReq 水準、ラスタ / PDF / SVG)
読み取り中…
検索中…
一致する文字列を見つけられません
typeset::image 名前空間

image — 画像の読み込みとエンコード [詳解]

関数

std::shared_ptr< dl::ImageloadFile (const std::string &path)
 
std::shared_ptr< dl::ImageloadMemory (const void *data, size_t size)
 
std::shared_ptr< dl::ImagefromRgba (int width, int height, const uint8_t *rgba)
 RGBA8888 から生成した画像(テスト・サンプル用)
 
std::string encodePng (const uint8_t *rgba, int width, int height)
 RGBA8888 → PNG バイト列(zlib)
 
std::string toPng (const dl::Image &img)
 画像 → PNG(encoded が PNG ならそれをそのまま返す)
 
std::string base64 (const std::string &bytes)
 
bool hasAlpha (const dl::Image &img)
 画像に不透明でない画素があるか
 

詳解

image — 画像の読み込みとエンコード

読み込みは stb_image(PNG / JPEG / GIF / BMP …)。JPEG は元のバイト列を保持して PDF へ素通し(DCTDecode)できるようにする。PNG エンコードは SVG の data URI と ラスタ backend の出力で共用する。

関数詳解

◆ loadFile()

std::shared_ptr< dl::Image > typeset::image::loadFile ( const std::string &  path)

◆ loadMemory()

std::shared_ptr< dl::Image > typeset::image::loadMemory ( const void *  data,
size_t  size 
)

◆ fromRgba()

std::shared_ptr< dl::Image > typeset::image::fromRgba ( int  width,
int  height,
const uint8_t *  rgba 
)

RGBA8888 から生成した画像(テスト・サンプル用)

◆ encodePng()

std::string typeset::image::encodePng ( const uint8_t *  rgba,
int  width,
int  height 
)

RGBA8888 → PNG バイト列(zlib)

◆ toPng()

std::string typeset::image::toPng ( const dl::Image img)

画像 → PNG(encoded が PNG ならそれをそのまま返す)

◆ base64()

std::string typeset::image::base64 ( const std::string &  bytes)

◆ hasAlpha()

bool typeset::image::hasAlpha ( const dl::Image img)

画像に不透明でない画素があるか