LIBEUNOMIA
読み取り中…
検索中…
一致する文字列を見つけられません
公開メンバ関数 | 静的公開メンバ関数 | 限定公開メンバ関数 | 全メンバ一覧
eunomia::PictureRgba クラス

RGBA32bitの畫像バッファ [詳解]

#include <picture_rgba.h>

eunomia::PictureRgba の継承関係図
eunomia::PictureRgba 連携図

公開メンバ関数

std::unique_ptr< PictureRgba > clone () const noexcept
 複製
 
std::unique_ptr< Picture > stripAlpha () const noexcept
 αチャネル除去
 
std::unique_ptr< PictureIndexed > createGrayscaledPictureIndexed () const noexcept
 グレイスケール化複製
 
std::unique_ptr< PictureIndexed > duplicatePictureIndexed () const noexcept
 減色(インデックスカラー化)
 
std::unique_ptr< PictureRgba > magnify (int w, int h, double a=-1.0) const noexcept
 擴大
 
std::unique_ptr< PictureRgba > reduce (int w, int h) const noexcept
 縮小
 
- 基底クラス eunomia::ImageBuffer< RgbaColour > に属する継承公開メンバ関数
virtual ~ImageBuffer ()=default
 解體子
 
int width () const noexcept
 幅
 
int height () const noexcept
 高さ
 
int pitch () const noexcept
 ピッチ
 
uint8_t * buffer () noexcept
 バッファの先頭アドレスの取得
 
const uint8_t * buffer () const noexcept
 バッファの先頭アドレスの取得
 
RgbaColour * lineBuffer (int y) noexcept
 ラインバッファの先頭アドレスの取得
 
const RgbaColour * lineBuffer (int y) const noexcept
 ラインバッファの先頭アドレスの取得
 
RgbaColour & pixel (int x, int y) noexcept
 畫素(x, y)の參照
 
const RgbaColour & pixel (int x, int y) const noexcept
 畫素(x, y)の參照
 
RgbaColour & at (int x, int y)
 畫素(x, y)の參照
 
const RgbaColour & at (int x, int y) const
 畫素(x, y)の參照
 
void line (int x1, int y1, int x2, int y2, const RgbaColour &color)
 線分の描畫
 
void box (int left, int top, int right, int bottom, const RgbaColour &color, bool fill=false)
 長方形の描畫
 
void ellipse (int x, int y, int a, int b, const RgbaColour &color, bool fill=false)
 楕圓の描畫
 
void circle (int x, int y, int r, const RgbaColour &color, bool fill=false)
 圓の描畫
 
void paintFill (int x, int y, const RgbaColour &color)
 塗り潰し
 
void clear (const RgbaColour &color)
 バッファ全體の塗り潰し
 
void blt (const ImageBuffer< CSrc > &src, int sx, int sy, int w, int h, int dx, int dy, const std::optional< Rect > &cliprect, Copier copier)
 轉送
 
void blt (const ImageBuffer< CSrc > &src, int sx, int sy, int w, int h, int dx, int dy, const std::optional< Rect > &cliprect=std::nullopt)
 轉送
 
void blt (const eunomia::ImageBuffer< CSrc > &src, int sx, int sy, int w, int h, int dx, int dy, const std::optional< eunomia::Rect > &cliprect, Copier copier)
 
void forEachPixel (Func func)
 畫素毎の處理
 

静的公開メンバ関数

static std::unique_ptr< PictureRgba > create (unsigned w, unsigned h) noexcept
 畫像バッファ生成
 

限定公開メンバ関数

 PictureRgba (unsigned w, unsigned h)
 構築子
 
- 基底クラス eunomia::ImageBuffer< RgbaColour > に属する継承限定公開メンバ関数
 ImageBuffer (int w, int h, int p) noexcept
 構築子
 

その他の継承メンバ

- 基底クラス eunomia::ImageBuffer< RgbaColour > に属する継承公開型
typedef RgbaColour ColourType
 
- 基底クラス eunomia::ImageBuffer< RgbaColour > に属する継承限定公開変数類
std::uint8_t * buf_
 畫像バッファ
 
int w_
 幅
 
int h_
 高さ
 
int pitch_
 ピッチ = 水平方向1ラインのビット數
 

詳解

RGBA32bitの畫像バッファ

構築子と解体子

◆ PictureRgba()

eunomia::PictureRgba::PictureRgba ( unsigned w,
unsigned h )
protected

構築子

引数
w幅
h高さ

関数詳解

◆ clone()

std::unique_ptr< eunomia::PictureRgba > eunomia::PictureRgba::clone ( ) const
noexcept

複製

◆ create()

std::unique_ptr< eunomia::PictureRgba > eunomia::PictureRgba::create ( unsigned w,
unsigned h )
staticnoexcept

畫像バッファ生成

◆ createGrayscaledPictureIndexed()

std::unique_ptr< eunomia::PictureIndexed > eunomia::PictureRgba::createGrayscaledPictureIndexed ( ) const
noexcept

グレイスケール化複製

グレイスケール化した複製を生成する。

呼び出し関係図:

◆ duplicatePictureIndexed()

std::unique_ptr< eunomia::PictureIndexed > eunomia::PictureRgba::duplicatePictureIndexed ( ) const
noexcept

減色(インデックスカラー化)

256インデックスカラー化した複製を生成する。

呼び出し関係図:

◆ magnify()

std::unique_ptr< eunomia::PictureRgba > eunomia::PictureRgba::magnify ( int w,
int h,
double a = -1.0 ) const
noexcept

擴大

擴大した複製を生成する。

引数
w複製畫像の幅
h複製畫像の高さ
aシャープネスを加減するパラメタ。 Wikipedia:en:Bicubic interpolationによれば -0.5〜-0.75がusuallyであるらしいが、 初めて觸れた參考文獻では-1.0に固定されてゐた。
呼び出し関係図:

◆ reduce()

std::unique_ptr< eunomia::PictureRgba > eunomia::PictureRgba::reduce ( int w,
int h ) const
noexcept

縮小

縮小した複製を生成する。

呼び出し関係図:

◆ stripAlpha()

std::unique_ptr< eunomia::Picture > eunomia::PictureRgba::stripAlpha ( ) const
noexcept

αチャネル除去

αチャネルを除いたPictureを生成する。

呼び出し関係図:

このクラス詳解は次のファイルから抽出されました: