FineKernelToolKit 4.2.13
読み取り中…
検索中…
一致する文字列を見つけられません
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
36
38
42 fk_Dimension(int W, int H);
43
46
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
93
98
101
104
107
111
114
116 static void operator *= (fk_Dimension^, int);
117
119 static void operator /= (fk_Dimension^, int);
120
123
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
158
160
166 fk_Rect(int X, int Y, int W, int H);
167
170
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
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
266
268
272 fk_Image(int W, int H);
273
276
279
281
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 ****************************************************************************/
FK の各クラスの基盤となる基本クラス
Definition Base_CLI.h:104
RGB色を管理するクラス
Definition Color_CLI.h:21
画像サイズを表すクラス
Definition Image_CLI.h:24
static void operator*=(fk_Dimension^, int)
実数積代入演算子
static void operator/=(fk_Dimension^, int)
実数商代入演算子
static fk_Dimension ^ operator*(int, fk_Dimension^)
実数積二項演算子2
static fk_Dimension ^ operator*(fk_Dimension^, int)
実数積二項演算子1
int w
横幅プロパティ
Definition Image_CLI.h:51
static void operator-=(fk_Dimension^, fk_Dimension^)
単項差代入演算子
static void operator+=(fk_Dimension^, fk_Dimension^)
単項和代入演算子
fk_Dimension(int W, int H)
コンストラクタ2
String ^ ToString() override
文字列変換メソッド
static fk_Dimension ^ operator-(fk_Dimension^)
単項マイナス演算子
~fk_Dimension()
デストラクタ
static fk_Dimension ^ operator+(fk_Dimension^, fk_Dimension^)
int h
縦幅プロパティ
Definition Image_CLI.h:57
int y
縦方向プロパティ
Definition Image_CLI.h:75
static fk_Dimension ^ operator-(fk_Dimension^, fk_Dimension^)
ベクトル差二項演算子
void Set(int W, int H)
画像サイズ設定メソッド
int x
横方向プロパティ
Definition Image_CLI.h:66
fk_Dimension()
コンストラクタ1
static fk_Dimension ^ operator/(fk_Dimension^, int)
実数商二項演算子
画像を生成、管理するクラス
Definition Image_CLI.h:251
int GetR(int x, int y)
ピクセルR要素取得メソッド
bool WriteBMP(String^ fileName)
BMP ファイル出力メソッド2
bool ReadPNG(String^ fileName)
PNG ファイル入力メソッド
void NewImage(int w, int h)
画像領域生成メソッド2
fk_Dimension^ BufferSize
画像バッファサイズプロパティ
Definition Image_CLI.h:321
void CopyImage(fk_Image^ image)
画像データコピーメソッド1
bool SetRGBA(int x, int y, int r, int g, int b, int a)
ピクセル RGBA 値設定メソッド
void FillColor(int r, int g, int b, int a)
バッファ全体初期化メソッド2
int GetB(int x, int y)
ピクセルB要素取得メソッド
fk_Image(int W, int H)
コンストラクタ
bool SetG(int x, int y, int g)
ピクセル G 値設定メソッド
bool WriteJPG(String^ fileName, int quality)
JPEG ファイル出力メソッド1
bool SubImage(fk_Image^ image, int x, int y, int w, int h)
画像データ部分抽出メソッド
int GetG(int x, int y)
ピクセルG要素取得メソッド
bool SetA(int x, int y, int a)
ピクセル A 値設定メソッド
bool SetB(int x, int y, int b)
ピクセル B 値設定メソッド
void FillColor(int r, int g, int b)
バッファ全体初期化メソッド3
bool ReadBMP(String^ fileName)
BMP ファイル入力メソッド
bool SetRGB(int x, int y, int r, int g, int b)
ピクセル RGB 値設定メソッド
int GetA(int x, int y)
ピクセルA要素取得メソッド
bool WriteJPG(String^ fileName)
JPEG ファイル出力メソッド2
void NewImage(int w, int h, bool initFlg)
画像領域生成メソッド1
fk_Image()
コンストラクタ1
bool WritePNG(String^ fileName, bool transFlg)
PNG ファイル出力メソッド1
void CopyImage(fk_Image^ image, int x, int y)
画像データコピーメソッド2
~fk_Image()
デストラクタ
void FillColor(fk_Color^ color)
バッファ全体初期化メソッド1
fk_Dimension^ Size
画像サイズプロパティ
Definition Image_CLI.h:296
bool WriteBMP(String^ fileName, bool transFlg)
BMP ファイル出力メソッド1
bool WritePNG(String^ fileName)
PNG ファイル出力メソッド2
bool ReadJPG(String^ fileName)
JPEG ファイル入力メソッド
void Init(void)
初期化メソッド
bool SetR(int x, int y, int r)
ピクセル R 値設定メソッド
画像中の矩形領域を表すクラス
Definition Image_CLI.h:145
int x
領域左上 x 座標プロパティ
Definition Image_CLI.h:175
void SetPos(int X, int Y)
領域位置設定メソッド
int h
領域縦幅プロパティ
Definition Image_CLI.h:193
fk_Dimension ^ GetSize(void)
領域サイズ参照メソッド
void Set(int X, int Y, int W, int H)
領域設定メソッド
int w
領域横幅プロパティ
Definition Image_CLI.h:187
int y
領域左上 y 座標プロパティ
Definition Image_CLI.h:181
String ^ ToString() override
文字列変換メソッド
void SetSize(int W, int H)
領域サイズ設定メソッド
fk_Rect()
コンストラクタ1
~fk_Rect()
デストラクタ
fk_Rect(int X, int Y, int W, int H)
コンストラクタ2
Definition AppWindow_CLI.h:11
fk_ImageType
画像フォーマットを表す列挙型
Definition Image_CLI.h:12
@ BMP
Windows Bitmap (BMP) 形式