FineKernelToolKit: CLI/FK_CLI/include/Image_CLI.h ソースファイル

FineKernelToolKit 4.3.0

読み取り中…
検索中…
一致する文字列を見つけられません
Image_CLI.h
[詳解]
1// Image_CLI.h
2
3#pragma once
4
5#include <FK/Image.h>
6#include "Base_CLI.h"
7#include "Material_CLI.h"
8
9namespace FK_CLI
10{
12 public enum class fk_ImageType {
13 BMP,
14 PNG,
15 JPG
16 };
17
19
24 public ref class fk_Dimension {
25 internal:
26 ::FK::fk_Dimension *pDim;
27
28 ::FK::fk_Dimension * GetP(void);
29
30 public:
32
35 fk_Dimension();
36
38
42 fk_Dimension(int W, int H);
43
45 ~fk_Dimension();
46
48 !fk_Dimension();
49
51 property int w {
52 int get();
53 void set(int value);
54 }
55
57 property int h {
58 int get();
59 void set(int value);
60 }
61
63
66 property int x {
67 int get();
68 void set(int value);
69 }
70
72
75 property int y {
76 int get();
77 void set(int value);
78 }
79
81
86 String^ ToString() override;
87
90
92 static fk_Dimension^ operator-(fk_Dimension^);
93
97 static fk_Dimension^ operator+(fk_Dimension^, fk_Dimension^);
98
100 static fk_Dimension^ operator-(fk_Dimension^, fk_Dimension^);
101
103 static fk_Dimension^ operator*(fk_Dimension^, int);
104
106 static fk_Dimension^ operator*(int, fk_Dimension^);
107
109 static fk_Dimension^ operator/(fk_Dimension^, int);
111
114
116 static void operator *= (fk_Dimension^, int);
117
119 static void operator /= (fk_Dimension^, int);
120
122 static void operator += (fk_Dimension^, fk_Dimension^);
123
125 static void operator -= (fk_Dimension^, fk_Dimension^);
126
128
130
134 void Set(int W, int H);
135 };
136
138
145 public ref class fk_Rect {
146 internal:
147 ::FK::fk_Rect *pRect;
148
149 ::FK::fk_Rect * GetP(void);
150
151 public:
152
154
157 fk_Rect();
158
160
166 fk_Rect(int X, int Y, int W, int H);
167
169 ~fk_Rect();
170
172 !fk_Rect();
173
175 property int x {
176 int get();
177 void set(int value);
178 }
179
181 property int y {
182 int get();
183 void set(int value);
184 }
185
187 property int w {
188 int get();
189 void set(int value);
190 }
191
193 property int h {
194 int get();
195 void set(int value);
196 }
197
199
204 String^ ToString() override;
205
207
213 void Set(int X, int Y, int W, int H);
214
216
220 void SetPos(int X, int Y);
221
223
227 void SetSize(int W, int H);
228
230
233 fk_Dimension^ GetSize(void);
234 };
235
237
251 public ref class fk_Image : fk_BaseObject {
252 internal:
253 ::FK::fk_Image * GetP(void);
254
255 public:
256
257#if !defined(FK_DOXYGEN_USER_PROCESS)
258 fk_Image(bool argNewFlg);
259#endif
260
262
265 fk_Image();
266
268
272 fk_Image(int W, int H);
273
275 ~fk_Image();
276
278 !fk_Image();
279
281
286
287 property fk_Color^ default [int, int] {
288 fk_Color^ get(int, int);
289 void set(int, int, fk_Color^);
290 }
291
293
296 property fk_Dimension^ Size {
297 fk_Dimension^ get();
298 }
299
301
321 property fk_Dimension^ BufferSize {
322 fk_Dimension^ get();
323 }
324
325#if !defined(FK_DOXYGEN_USER_PROCESS)
326 property void* Buffer {
327 void* get();
328 }
329#endif
330
332
336 void Init(void);
337
338
340
352 void NewImage(int w, int h, bool initFlg);
353
355
362 void NewImage(int w, int h);
363
365
371 void CopyImage(fk_Image^ image);
372
374
385 void CopyImage(fk_Image^ image, int x, int y);
386
388
399 bool SubImage(fk_Image^ image, int x, int y, int w, int h);
400
402
413 int GetR(int x, int y);
414
416
427 int GetG(int x, int y);
428
430
441 int GetB(int x, int y);
442
444
455 int GetA(int x, int y);
456
458
476 bool SetRGBA(int x, int y, int r, int g, int b, int a);
477
479
496 bool SetRGB(int x, int y, int r, int g, int b);
497
499
514 bool SetR(int x, int y, int r);
515
517
532 bool SetG(int x, int y, int g);
533
535
550 bool SetB(int x, int y, int b);
551
553
568 bool SetA(int x, int y, int a);
569
571
578 void FillColor(fk_Color^ color);
579
581
591 void FillColor(int r, int g, int b, int a);
592
594
604 void FillColor(int r, int g, int b);
605
607
614 bool ReadBMP(String^ fileName);
615
617
624 bool ReadPNG(String^ fileName);
625
627
634 bool ReadJPG(String^ fileName);
635
637
651 bool WriteBMP(String^ fileName, bool transFlg);
652
654
661 bool WriteBMP(String^ fileName);
662
664
674 bool WritePNG(String^ fileName, bool transFlg);
675
677
684 bool WritePNG(String^ fileName);
685
687
701 bool WriteJPG(String^ fileName, int quality);
702
704
715 bool WriteJPG(String^ fileName);
716 };
717}
718
719/****************************************************************************
720 *
721 * Copyright (c) 1999-2024, Fine Kernel Project, All rights reserved.
722 *
723 * Redistribution and use in source and binary forms,
724 * with or without modification, are permitted provided that the
725 * following conditions are met:
726 *
727 * - Redistributions of source code must retain the above
728 * copyright notice, this list of conditions and the
729 * following disclaimer.
730 *
731 * - Redistributions in binary form must reproduce the above
732 * copyright notice, this list of conditions and the
733 * following disclaimer in the documentation and/or
734 * other materials provided with the distribution.
735 *
736 * - Neither the name of the copyright holders nor the names
737 * of its contributors may be used to endorse or promote
738 * products derived from this software without specific
739 * prior written permission.
740 *
741 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
742 * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
743 * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
744 * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
745 * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
746 * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
747 * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
748 * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
749 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
750 * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING
751 * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
752 * POSSIBILITY OF SUCH DAMAGE.
753 *
754 ****************************************************************************/
755 /****************************************************************************
756 *
757 * Copyright (c) 1999-2024, Fine Kernel Project, All rights reserved.
758 *
759 * 本ソフトウェアおよびソースコードのライセンスは、基本的に
760 * 「修正 BSD ライセンス」に従います。以下にその詳細を記します。
761 *
762 * ソースコード形式かバイナリ形式か、変更するかしないかを問わず、
763 * 以下の条件を満たす場合に限り、再頒布および使用が許可されます。
764 *
765 * - ソースコードを再頒布する場合、上記の著作権表示、本条件一覧、
766 * および下記免責条項を含めること。
767 *
768 * - バイナリ形式で再頒布する場合、頒布物に付属のドキュメント等の
769 * 資料に、上記の著作権表示、本条件一覧、および下記免責条項を
770 * 含めること。
771 *
772 * - 書面による特別の許可なしに、本ソフトウェアから派生した製品の
773 * 宣伝または販売促進に、本ソフトウェアの著作権者の名前または
774 * コントリビューターの名前を使用してはならない。
775 *
776 * 本ソフトウェアは、著作権者およびコントリビューターによって「現
777 * 状のまま」提供されており、明示黙示を問わず、商業的な使用可能性、
778 * および特定の目的に対する適合性に関す暗黙の保証も含め、またそれ
779 * に限定されない、いかなる保証もないものとします。著作権者もコン
780 * トリビューターも、事由のいかんを問わず、損害発生の原因いかんを
781 * 問わず、かつ責任の根拠が契約であるか厳格責任であるか(過失その
782 * 他の)不法行為であるかを問わず、仮にそのような損害が発生する可
783 * 能性を知らされていたとしても、本ソフトウェアの使用によって発生
784 * した(代替品または代用サービスの調達、使用の喪失、データの喪失、
785 * 利益の喪失、業務の中断も含め、またそれに限定されない)直接損害、
786 * 間接損害、偶発的な損害、特別損害、懲罰的損害、または結果損害に
787 * ついて、一切責任を負わないものとします。
788 *
789 ****************************************************************************/
Base_CLI.h
Material_CLI.h
FK_CLI::fk_BaseObject
FK の各クラスの基盤となる基本クラス
Definition Base_CLI.h:104
FK_CLI::fk_Color
RGB色を管理するクラス
Definition Color_CLI.h:21
FK_CLI::fk_Dimension
画像サイズを表すクラス
Definition Image_CLI.h:24
FK_CLI::fk_Dimension::operator*=
static void operator*=(fk_Dimension^, int)
実数積代入演算子
FK_CLI::fk_Dimension::operator/=
static void operator/=(fk_Dimension^, int)
実数商代入演算子
FK_CLI::fk_Dimension::operator*
static fk_Dimension ^ operator*(int, fk_Dimension^)
実数積二項演算子2
FK_CLI::fk_Dimension::operator*
static fk_Dimension ^ operator*(fk_Dimension^, int)
実数積二項演算子1
FK_CLI::fk_Dimension::w
int w
横幅プロパティ
Definition Image_CLI.h:51
FK_CLI::fk_Dimension::operator-=
static void operator-=(fk_Dimension^, fk_Dimension^)
単項差代入演算子
FK_CLI::fk_Dimension::operator+=
static void operator+=(fk_Dimension^, fk_Dimension^)
単項和代入演算子
FK_CLI::fk_Dimension::fk_Dimension
fk_Dimension(int W, int H)
コンストラクタ2
FK_CLI::fk_Dimension::ToString
String ^ ToString() override
文字列変換メソッド
FK_CLI::fk_Dimension::operator-
static fk_Dimension ^ operator-(fk_Dimension^)
単項マイナス演算子
FK_CLI::fk_Dimension::~fk_Dimension
~fk_Dimension()
デストラクタ
FK_CLI::fk_Dimension::operator+
static fk_Dimension ^ operator+(fk_Dimension^, fk_Dimension^)
FK_CLI::fk_Dimension::h
int h
縦幅プロパティ
Definition Image_CLI.h:57
FK_CLI::fk_Dimension::y
int y
縦方向プロパティ
Definition Image_CLI.h:75
FK_CLI::fk_Dimension::operator-
static fk_Dimension ^ operator-(fk_Dimension^, fk_Dimension^)
ベクトル差二項演算子
FK_CLI::fk_Dimension::Set
void Set(int W, int H)
画像サイズ設定メソッド
FK_CLI::fk_Dimension::x
int x
横方向プロパティ
Definition Image_CLI.h:66
FK_CLI::fk_Dimension::fk_Dimension
fk_Dimension()
コンストラクタ1
FK_CLI::fk_Dimension::operator/
static fk_Dimension ^ operator/(fk_Dimension^, int)
実数商二項演算子
FK_CLI::fk_Image::GetR
int GetR(int x, int y)
ピクセルR要素取得メソッド
FK_CLI::fk_Image::WriteBMP
bool WriteBMP(String^ fileName)
BMP ファイル出力メソッド2
FK_CLI::fk_Image::ReadPNG
bool ReadPNG(String^ fileName)
PNG ファイル入力メソッド
FK_CLI::fk_Image::NewImage
void NewImage(int w, int h)
画像領域生成メソッド2
FK_CLI::fk_Image::BufferSize
fk_Dimension^ BufferSize
画像バッファサイズプロパティ
Definition Image_CLI.h:321
FK_CLI::fk_Image::CopyImage
void CopyImage(fk_Image^ image)
画像データコピーメソッド1
FK_CLI::fk_Image::SetRGBA
bool SetRGBA(int x, int y, int r, int g, int b, int a)
ピクセル RGBA 値設定メソッド
FK_CLI::fk_Image::FillColor
void FillColor(int r, int g, int b, int a)
バッファ全体初期化メソッド2
FK_CLI::fk_Image::GetB
int GetB(int x, int y)
ピクセルB要素取得メソッド
FK_CLI::fk_Image::fk_Image
fk_Image(int W, int H)
コンストラクタ
FK_CLI::fk_Image::SetG
bool SetG(int x, int y, int g)
ピクセル G 値設定メソッド
FK_CLI::fk_Image::WriteJPG
bool WriteJPG(String^ fileName, int quality)
JPEG ファイル出力メソッド1
FK_CLI::fk_Image::SubImage
bool SubImage(fk_Image^ image, int x, int y, int w, int h)
画像データ部分抽出メソッド
FK_CLI::fk_Image::GetG
int GetG(int x, int y)
ピクセルG要素取得メソッド
FK_CLI::fk_Image::SetA
bool SetA(int x, int y, int a)
ピクセル A 値設定メソッド
FK_CLI::fk_Image::SetB
bool SetB(int x, int y, int b)
ピクセル B 値設定メソッド
FK_CLI::fk_Image::FillColor
void FillColor(int r, int g, int b)
バッファ全体初期化メソッド3
FK_CLI::fk_Image::ReadBMP
bool ReadBMP(String^ fileName)
BMP ファイル入力メソッド
FK_CLI::fk_Image::SetRGB
bool SetRGB(int x, int y, int r, int g, int b)
ピクセル RGB 値設定メソッド
FK_CLI::fk_Image::GetA
int GetA(int x, int y)
ピクセルA要素取得メソッド
FK_CLI::fk_Image::WriteJPG
bool WriteJPG(String^ fileName)
JPEG ファイル出力メソッド2
FK_CLI::fk_Image::NewImage
void NewImage(int w, int h, bool initFlg)
画像領域生成メソッド1
FK_CLI::fk_Image::fk_Image
fk_Image()
コンストラクタ1
FK_CLI::fk_Image::WritePNG
bool WritePNG(String^ fileName, bool transFlg)
PNG ファイル出力メソッド1
FK_CLI::fk_Image::CopyImage
void CopyImage(fk_Image^ image, int x, int y)
画像データコピーメソッド2
FK_CLI::fk_Image::~fk_Image
~fk_Image()
デストラクタ
FK_CLI::fk_Image::FillColor
void FillColor(fk_Color^ color)
バッファ全体初期化メソッド1
FK_CLI::fk_Image::Size
fk_Dimension^ Size
画像サイズプロパティ
Definition Image_CLI.h:296
FK_CLI::fk_Image::WriteBMP
bool WriteBMP(String^ fileName, bool transFlg)
BMP ファイル出力メソッド1
FK_CLI::fk_Image::WritePNG
bool WritePNG(String^ fileName)
PNG ファイル出力メソッド2
FK_CLI::fk_Image::ReadJPG
bool ReadJPG(String^ fileName)
JPEG ファイル入力メソッド
FK_CLI::fk_Image::Init
void Init(void)
初期化メソッド
FK_CLI::fk_Image::SetR
bool SetR(int x, int y, int r)
ピクセル R 値設定メソッド
FK_CLI::fk_Rect::x
int x
領域左上 x 座標プロパティ
Definition Image_CLI.h:175
FK_CLI::fk_Rect::SetPos
void SetPos(int X, int Y)
領域位置設定メソッド
FK_CLI::fk_Rect::h
int h
領域縦幅プロパティ
Definition Image_CLI.h:193
FK_CLI::fk_Rect::GetSize
fk_Dimension ^ GetSize(void)
領域サイズ参照メソッド
FK_CLI::fk_Rect::Set
void Set(int X, int Y, int W, int H)
領域設定メソッド
FK_CLI::fk_Rect::w
int w
領域横幅プロパティ
Definition Image_CLI.h:187
FK_CLI::fk_Rect::y
int y
領域左上 y 座標プロパティ
Definition Image_CLI.h:181
FK_CLI::fk_Rect::ToString
String ^ ToString() override
文字列変換メソッド
FK_CLI::fk_Rect::SetSize
void SetSize(int W, int H)
領域サイズ設定メソッド
FK_CLI::fk_Rect::fk_Rect
fk_Rect()
コンストラクタ1
FK_CLI::fk_Rect::~fk_Rect
~fk_Rect()
デストラクタ
FK_CLI::fk_Rect::fk_Rect
fk_Rect(int X, int Y, int W, int H)
コンストラクタ2
FK_CLI
Definition AppWindow_CLI.h:11
FK_CLI::fk_ImageType
fk_ImageType
画像フォーマットを表す列挙型
Definition Image_CLI.h:12
FK_CLI::fk_ImageType::PNG
@ PNG
PNG 形式
Definition Image_CLI.h:14
FK_CLI::fk_ImageType::JPG
@ JPG
JPEG 形式
Definition Image_CLI.h:15
FK_CLI::fk_ImageType::BMP
@ BMP
Windows Bitmap (BMP) 形式
Definition Image_CLI.h:13
FK_CLI::fk_Axis::X
@ X
x軸
Definition Vector_CLI.h:11
FK_CLI::fk_Axis::Y
@ Y
y軸
Definition Vector_CLI.h:12