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

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

#include <picture.h>

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

公開メンバ関数

std::unique_ptr< Pictureclone () const noexcept
 複製
 
std::unique_ptr< PictureIndexedcreateGrayscaledPictureIndexed () const noexcept
 グレイスケール化複製
 
std::unique_ptr< PictureIndexedduplicatePictureIndexed () const noexcept
 減色(インデックスカラー化)
 
std::unique_ptr< Picturemagnify (int w, int h, double a=-1.0) const noexcept
 擴大
 
std::unique_ptr< Picturereduce (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_tbuffer () noexcept
 バッファの先頭アドレスの取得
 
const uint8_tbuffer () const noexcept
 バッファの先頭アドレスの取得
 
RgbColourlineBuffer (int y) noexcept
 ラインバッファの先頭アドレスの取得
 
const RgbColourlineBuffer (int y) const noexcept
 ラインバッファの先頭アドレスの取得
 
RgbColourpixel (int x, int y) noexcept
 畫素(x, y)の參照
 
const RgbColourpixel (int x, int y) const noexcept
 畫素(x, y)の參照
 
RgbColourat (int x, int y)
 畫素(x, y)の參照
 
const RgbColourat (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< Picturecreate (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

縮小

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

呼び出し関係図:

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