root/lang/cpluspluscli/OpenCvSharp/trunk/OpenCvSharp/CvColor.h @ 17367

Revision 17367, 4.0 kB (checked in by schima, 5 years ago)

OpenCvSharpの初回コミット

Line 
1/**
2 * (C) 2008 Schima
3 * This code is licenced under the LGPL.
4 */
5
6#pragma once
7
8#include "CvScalar.h"
9
10using namespace System;
11namespace SD = System::Drawing;
12
13namespace KwsmLab {
14namespace OpenCvSharp
15{
16        namespace N = KwsmLab::OpenCvSharp;
17
18        /// <summary>
19        /// 色をあらわす構造体.
20        /// OpenCVのCvScalarや、System.Drawing.Colorとの暗黙の変換が定義されている.
21        /// </summary>
22        [Serializable]
23        public value class CvColor : IEquatable<CvColor>
24        {
25        private:               
26
27        internal:
28                static operator __CvScalar(CvColor self);
29
30        public:
31                CvColor(Byte r, Byte g, Byte b);
32
33                /// <summary>
34                /// R成分
35                /// </summary>
36                property Byte R;
37                /// <summary>
38                /// G成分
39                /// </summary>
40                property Byte G;
41                /// <summary>
42                /// B成分
43                /// </summary>
44                property Byte B;
45
46                #pragma region 色定数
47                /// <summary>
48                /// 黒をあらわす色定数を取得する
49                /// </summary>
50                static property CvColor Black{ CvColor get(void){               return CvColor(0, 0, 0);                } }
51                /// <summary>
52                /// 白をあらわす色定数を取得する
53                /// </summary>
54                static property CvColor White{ CvColor get(void){               return CvColor(255, 255, 255);  } }
55                /// <summary>
56                /// グレーをあらわす色定数を取得する
57                /// </summary>
58                static property CvColor Gray{ CvColor get(void){                return CvColor(128, 128, 128);  } }
59                /// <summary>
60                /// ピンクをあらわす色定数を取得する
61                /// </summary>
62                static property CvColor Pink{ CvColor get(void){                return CvColor(255, 192, 203);  } }
63                /// <summary>
64                /// 赤をあらわす色定数を取得する
65                /// </summary>
66                static property CvColor Red{ CvColor get(void){                 return CvColor(255, 0, 0);              } }
67                /// <summary>
68                /// マゼンタをあらわす色定数を取得する
69                /// </summary>
70                static property CvColor Magenta{ CvColor get(void){             return CvColor(255, 0, 255);    } }
71                /// <summary>
72                /// ライトグリーンをあらわす色定数を取得する
73                /// </summary>
74                static property CvColor LightGreen{ CvColor get(void){  return CvColor(144, 238, 144);  } }
75                /// <summary>
76                /// 緑をあらわす色定数を取得する
77                /// </summary>
78                static property CvColor Green{ CvColor get(void){               return CvColor(0, 255, 0);              } }
79                /// <summary>
80                /// ダークグリーンをあらわす色定数を取得する
81                /// </summary>
82                static property CvColor DarkGreen{ CvColor get(void){   return CvColor(0, 100, 0);              } }
83                /// <summary>
84                /// シアンをあらわす色定数を取得する
85                /// </summary>
86                static property CvColor Cyan{ CvColor get(void){                return CvColor(0, 255, 255);    } }
87                /// <summary>
88                /// 青をあらわす色定数を取得する
89                /// </summary>
90                static property CvColor Blue{ CvColor get(void){                return CvColor(0, 0, 255);              } }
91                /// <summary>
92                /// ネイビーをあらわす色定数を取得する
93                /// </summary>
94                static property CvColor Navy{ CvColor get(void){                return CvColor(0, 0, 128);              } }
95                /// <summary>
96                /// 黄色をあらわす色定数を取得する
97                /// </summary>
98                static property CvColor Yellow{ CvColor get(void){              return CvColor(255, 217, 0);    } }
99                /// <summary>
100                /// オレンジをあらわす色定数を取得する
101                /// </summary>
102                static property CvColor Orange{ CvColor get(void){              return CvColor(255, 165, 0);    } }
103                /// <summary>
104                /// 紫をあらわす色定数を取得する
105                /// </summary>
106                static property CvColor Violet{ CvColor get(void){              return CvColor(238, 130, 238);  } }
107                /// <summary>
108                /// 茶色をあらわす色定数を取得する
109                /// </summary>
110                static property CvColor Brown{ CvColor get(void){               return CvColor(165, 42, 42);    } }
111                #pragma endregion               
112                       
113                static bool operator==(CvColor lhs, CvColor rhs);
114                static operator N::CvScalar(CvColor self);
115                static operator CvColor(N::CvScalar s);
116                static operator SD::Color(CvColor self);
117                static operator CvColor(SD::Color c);
118                static CvColor Random();
119
120                void Set(Byte r, Byte g, Byte b);       
121                virtual bool Equals(CvColor cs);               
122                virtual String^ ToString() override;
123        };
124}
125}
Note: See TracBrowser for help on using the browser.