Class: Rixmap::Mode

Inherits:
Data
  • Object
show all
Defined in:
src/rixmapcore.cxx,
src/rixmapcore.cxx

Overview

画像形式情報クラス.

Instance Method Summary collapse

Instance Method Details

#channelsArray<String>

この画像形式に含まれるチャンネルリストを返します.

Returns:

  • (Array<String>)

    チャンネルリスト



978
979
980
981
982
983
984
985
986
987
# File 'src/rixmapcore.cxx', line 978

static VALUE Mode_getChannels(VALUE self) {
    Rixmap::ModeData* _this = rixmap_unwrap<Rixmap::ModeData>(self);
    const Rixmap::ChannelArray& channels = _this->getChannels();
    VALUE items = rb_ary_new();
    for (auto it = channels.begin(); it != channels.end(); it++) {
        const char ch = static_cast<char>(*it);
        rb_ary_push(items, rb_str_new(&ch, 1));
    }
    return items;
}

#depthInteger

ピクセルあたりのビット数を返します.

Returns:

  • (Integer)


968
969
970
971
# File 'src/rixmapcore.cxx', line 968

static VALUE Mode_getDepth(VALUE self) {
    Rixmap::ModeData* _this = rixmap_unwrap<Rixmap::ModeData>(self);
    return INT2FIX(_this->getDepth());
}

#grayscale?Boolean

グレースケール形式かどうかを返します.

Returns:

  • (Boolean)

    グレースケール形式ならtrue



1008
1009
1010
1011
1012
1013
1014
1015
# File 'src/rixmapcore.cxx', line 1008

static VALUE Mode_isGrayScaleType(VALUE self) {
    Rixmap::ModeData* _this = rixmap_unwrap<Rixmap::ModeData>(self);
    if (_this->isGrayScaleType()) {
        return Qtrue;
    } else {
        return Qfalse;
    }
}

#has_alpha?Boolean

透明度をサポートしているかを返します.

Returns:

  • (Boolean)

    透明度をサポートしているならtrue



1036
1037
1038
1039
1040
1041
1042
1043
# File 'src/rixmapcore.cxx', line 1036

static VALUE Mode_hasAlpha(VALUE self) {
    Rixmap::ModeData* _this = rixmap_unwrap<Rixmap::ModeData>(self);
    if (_this->hasAlpha()) {
        return Qtrue;
    } else {
        return Qfalse;
    }
}

#indexed?Boolean

インデックスカラー形式かどうかを返します.

Returns:

  • (Boolean)

    インデックスカラー形式ならtrue



1022
1023
1024
1025
1026
1027
1028
1029
# File 'src/rixmapcore.cxx', line 1022

static VALUE Mode_isIndexedType(VALUE self) {
    Rixmap::ModeData* _this = rixmap_unwrap<Rixmap::ModeData>(self);
    if (_this->isIndexedType()) {
        return Qtrue;
    } else {
        return Qfalse;
    }
}

#inspectString

オブジェクトとしての文字列表現を返します.

Returns:

  • (String)

    文字列表現



1060
1061
1062
1063
1064
1065
1066
1067
1068
# File 'src/rixmapcore.cxx', line 1060

static VALUE Mode_inspect(VALUE self) {
    Rixmap::ModeData* _this = rixmap_unwrap<Rixmap::ModeData>(self);
    const std::string& name = _this->getName();
    return rb_enc_sprintf(
            rb_usascii_encoding(),
            "#<%s:%p name=%s, depth=%d>",
            rb_obj_classname(self), reinterpret_cast<void*>(self),
            name.c_str(), _this->getDepth());
}

#nameString

画像形式名を文字列として取得します.

Returns:

  • (String)

    画像形式名



957
958
959
960
961
# File 'src/rixmapcore.cxx', line 957

static VALUE Mode_getName(VALUE self) {
    Rixmap::ModeData* _this = rixmap_unwrap<Rixmap::ModeData>(self);
    const std::string& name = _this->getName();
    return rb_str_new_cstr(name.c_str());
}

#rgb?Boolean

RGBカラー形式かどうかを返します.

Returns:

  • (Boolean)

    RGBカラー形式ならtrue



994
995
996
997
998
999
1000
1001
# File 'src/rixmapcore.cxx', line 994

static VALUE Mode_isRGBType(VALUE self) {
    Rixmap::ModeData* _this = rixmap_unwrap<Rixmap::ModeData>(self);
    if (_this->isRGBType()) {
        return Qtrue;
    } else {
        return Qfalse;
    }
}

#to_iInteger

画像形式値を整数値に変換します.

Returns:

  • (Integer)

    画像形式値.



1050
1051
1052
1053
# File 'src/rixmapcore.cxx', line 1050

static VALUE Mode_toInteger(VALUE self) {
    Rixmap::ModeData* _this = rixmap_unwrap<Rixmap::ModeData>(self);
    return ULONG2NUM(_this->getValue());
}