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

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

#include <picture.h>

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

公開メンバ関数

std::unique_ptr< Picture > clone () const noexcept
 複製
 
std::unique_ptr< PictureIndexed > createGrayscaledPictureIndexed () const noexcept
 グレイスケール化複製
 
std::unique_ptr< PictureIndexed > duplicatePictureIndexed () const noexcept
 減色(インデックスカラー化)
 
std::unique_ptr< Picture > magnify (int w, int h, double a=-1.0) const noexcept
 擴大
 
std::unique_ptr< Picture > reduce (int w, int h) const noexcept
 縮小
 
- 基底クラス eunomia::ImageBuffer< RgbColour > に属する継承公開メンバ関数
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
 バッファの先頭アドレスの取得
 
RgbColour * lineBuffer (int y) noexcept
 ラインバッファの先頭アドレスの取得
 
const RgbColour * lineBuffer (int y) const noexcept
 ラインバッファの先頭アドレスの取得
 
RgbColour & pixel (int x, int y) noexcept
 畫素(x, y)の參照
 
const RgbColour & pixel (int x, int y) const noexcept
 畫素(x, y)の參照
 
RgbColour & at (int x, int y)
 畫素(x, y)の參照
 
const RgbColour & at (int x, int y) const
 畫素(x, y)の參照
 
void line (int x1, int y1, int x2, int y2, const RgbColour &color)
 線分の描畫
 
void box (int left, int top, int right, int bottom, const RgbColour &color, bool fill=false)
 長方形の描畫
 
void ellipse (int x, int y, int a, int b, const RgbColour &color, bool fill=false)
 楕圓の描畫
 
void circle (int x, int y, int r, const RgbColour &color, bool fill=false)
 圓の描畫
 
void paintFill (int x, int y, const RgbColour &color)
 塗り潰し
 
void clear (const RgbColour &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< Picture > create (unsigned w, unsigned h) noexcept
 畫像バッファ生成
 

限定公開メンバ関数

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

その他の継承メンバ

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

詳解

RGB24bitの畫像バッファ

構築子と解体子

◆ Picture()

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

構築子

引数
w畫像の幅
h畫像の高さ

関数詳解

◆ clone()

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

複製

◆ create()

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

畫像バッファ生成

幅と高さを指定してPictureオブジェクトを生成する。

引数
w畫像の幅
h畫像の高さ
被呼び出し関係図:

◆ createGrayscaledPictureIndexed()

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

グレイスケール化複製

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

呼び出し関係図:

◆ duplicatePictureIndexed()

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

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

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

呼び出し関係図:

◆ magnify()

std::unique_ptr< eunomia::Picture > eunomia::Picture::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::Picture > eunomia::Picture::reduce ( int w,
int h ) const
noexcept

縮小

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

呼び出し関係図:

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