GDI画像オブジェクト

Namespace: FVIL.GDI
Assembly: FVILbasic (in FVILbasic.dll) Version: 3.1.0.0 (3.1.0.17)

Syntax

C#
[SerializableAttribute]
public class CFviGdiImage : CFviGdiFigure, 
	ISerializable, IXmlSerializable
Visual Basic
<SerializableAttribute>
Public Class CFviGdiImage
	Inherits CFviGdiFigure
	Implements ISerializable, IXmlSerializable

Remarks

画像を描画するデータ構造クラスです。 主に CFviImage をオーバレイ描画する為に使用します。

描画座標を左上とする画像をオーバレイ描画します。


■ トピック


初期値と範囲:
プロパティ初期値範囲
Position0,0任意の座標
HorzSize(無効)SetSize(Int32, Int32, Int32) で決定します。
VertSize(無効)SetSize(Int32, Int32, Int32) で決定します。
Bpp(無効)SetSize(Int32, Int32, Int32) で決定します。
HorzByte(無効)SetSize(Int32, Int32, Int32) で決定します。
MemSize(無効)SetSize(Int32, Int32, Int32) で決定します。
RasterOperationNoneRasterOperation に定義された定数
Alpha0xFF0x00~0xFF
AlphaFormat00/1
HalftoneModefalsefalse,true
StretchHorzSize00,1~
StretchVertSize00,1~
Scalingtruetrue,false

[↑戻る]


図形の回転:

親クラスが持つ回転角を指定すると、図形を回転して描画できます。 回転中心は、回転の機軸に指定された画素の左上隅になります。 回転角と回転の機軸については Angle 及び Axis をご参照ください。


[↑戻る]


図形の選択:

図形が選択された事を表す選択マークを描画できます。

選択の有無は Select で切り替えてください。 実際にマウス等で図形を選択する場合は、 CheckFocusMarkPosition(CFviPoint, Double) でマウス位置の確認を行ってください。


[↑戻る]


外接矩形:

図形に外接する最小の矩形を取得できます。 返る値は、この画像の画素サイズです。

外接矩形の取得については、 GetClipRect()()()() をご参照ください。


[↑戻る]


透明度:

透明度を設定する事で、画像全体の透過率を調整できます。(下図左)
画像が 32bpp の場合は、画素毎の透過率を調整する事もできます。(下図右)
但し、画素毎の透過率は 0x000xFF のみ使用できます。それ以外を指定すると描画色が不定値になります。
不透明の画素を半透明にするには、全体の透明度(
Alpha)で調整してください。

この他、 ラスターオペレーションモードNone 以外に設定すると、 コピー元、コピー先の各色データを組み合わせて描画することもできます。 前述の透過率の調整は、 ラスターオペレーションモードNone の時のみ有効です。 透明度の設定については、 AlphaAlphaFormat をご参照ください。


[↑戻る]


データ変換:

このオブジェクトと他のオブジェクトのデータ変換の組み合わせを下表に示します。

オブジェクトメソッド説明
CFviImageAttach(CFviImage) 指定された画像オブジェクトにアタッチします。 このオブジェクトの領域は事前に解放されます。 アタッチ可能な条件については CheckValidity(CFviImage) の説明を参照してください。
逆に画像オブジェクトからアタッチする場合は、 このクラスの GetPixelScanner()()()() で取得した PixelScanner を 画像オブジェクトの Attach(CFviPixelScanner) に渡してください。
(同上)CopyFrom(Object) 指定された画像オブジェクトからデータをコピーします。 このオブジェクトの領域は変換前に再確保されます。 変換可能な条件については CheckCopyable(CFviImage) の説明を参照してください。
また、このメソッドの他に キャスト を使用した記述も可能です。
(同上)Copy(CFviImage, Int32) 指定された画像オブジェクトからデータをコピーします。 このオブジェクトの領域を予め適切なサイズに設定しなけれなりません。 変換可能な条件については CheckCopyable(CFviImage) の説明を参照してください。
(同上)ToCFviImage()()()() このオブジェクトを画像オブジェクトに変換します。 現在の Bpp(1,8,24,32) によって変換後の画像種別(ImageType)を決定します 現在の Bppが 24 または 32 の時は、パッキング画像(RGB24, RGB32)に変換します。
また、このメソッドの他に キャスト を使用した記述も可能です。
System.Drawing.BitmapCopyFrom(Object) 指定されたビットマップからデータをコピーします。 このオブジェクトの領域は変換前に再確保されます。 変換可能な条件は以下の通りです。
対応する System::Drawing::Imaging::PixelFormat
  • Format1bppIndexed
  • Format8bppIndexed
  • Format24bppRgb
  • Format32bppRgb
  • Format32bppArgb

また、このメソッドの他に キャスト を使用した記述も可能です。
CFviRegionCopyFrom(CFviRegion, Color) 指定されたリージョンを 32bpp アルファ値付き画像に変換します。 このオブジェクトの領域は変換前に再確保されます。
IplImageIplImageConverter
CopyFrom(Object)
CopyTo(Object)
Intel IPL の IplImage との相互変換を行います。

[↑戻る]

Inheritance Hierarchy

System..::..Object
FVIL..::..CFviObject
FVIL.GDI..::..CFviGdiFigure
FVIL.GDI..::..CFviGdiImage

See Also