長方形の描画
Namespace: fvalgcliAssembly: fvalgcli (in fvalgcli.dll) Version: 3.1.0.0 (3.1.0.11)
Syntax
C# |
---|
public static int fnFIE_draw_rect( FHANDLE hImg, DOUBLE_PTR val, f_draw_fill_mode mode, DPNT_T start, double width, double height, DPNT_T center, double theta ) |
Visual Basic |
---|
Public Shared Function fnFIE_draw_rect ( hImg As FHANDLE, val As DOUBLE_PTR, mode As f_draw_fill_mode, start As DPNT_T, width As Double, height As Double, center As DPNT_T, theta As Double ) As Integer |
Parameters
- hImg
- Type: fvalgcli..::..FHANDLE
画像のハンドル(type:bin,uc8,s16,us16,double,rgbq)
- val
- Type: fvalgcli..::..DOUBLE_PTR
濃度値を格納した配列の先頭アドレス
- mode
- Type: fvalgcli..::..f_draw_fill_mode
描画モード- F_DRAW_LINE :図形の線のみを描画
- F_DRAW_FILL_IN :図形の内側を塗りつぶし
- F_DRAW_FILL_OUT :図形の外側を塗りつぶし
- start
- Type: fvalgcli..::..DPNT_T
始点
- width
- Type: System..::..Double
幅
- height
- Type: System..::..Double
高さ
- center
- Type: fvalgcli..::..DPNT_T
回転のための中心点
- theta
- Type: System..::..Double
回転角
Return Value
Type: Int32以下のエラーコードを返します。
エラーコード:
f_err | 内容 |
---|---|
F_ERR_NONE | 正常終了 |
F_ERR_NOMEMORY | メモリ不足エラー |
F_ERR_INVALID_IMAGE | 画像オブジェクトの異常 |
F_ERR_INVALID_PARAM | パラメータ異常 |
F_ERR_NO_LICENCE | ライセンスエラー、または未初期化エラー |
Examples
C# | Copy |
---|---|
// $Revision: 1.1 $ using System; using System.Collections.Generic; using System.Text; using fvalgcli; namespace TC { public partial class FIE { /// <summary> /// 長方形の描画. /// </summary> [FvPluginExecute] public void fnFIE_draw_rect() { int status = (int)f_err.F_ERR_NONE; FHANDLE hImg = FHANDLE.Zero; // 処理画像. DOUBLE_PTR val = IntPtr.Zero; // 濃度値を格納した配列(チャネル数分) const f_draw_fill_mode mode = f_draw_fill_mode.F_DRAW_FILL_IN; // 描画モード. DPNT_T start; // 始点. double width; // 幅. double height; // 高さ. DPNT_T center; // 回転のための中心点. double theta; // 回転角. const int img_width = 128; const int img_height = 64; try { // 処理画像の生成. hImg = api.fnFIE_img_root_alloc((int)f_imgtype.F_IMG_UC8, 1, img_width, img_height); api.fnFIE_img_clear(hImg, 128 / 2); int channels = api.fnFIE_img_get_channels(hImg); // 配列の確保(アンマネージヒープに確保される). val = DOUBLE_PTR.alloc(channels); for (int i = 0; i < channels; i++) val[i] = 128; // 描画する長方形の設定. start.x = img_width / 4; start.y = img_height / 4; width = img_width / 2; height = img_height / 2; center.x = img_width / 2; center.y = img_height / 2; theta = Math.PI * (45.0) / 180.0; // 処理の実行. status = api.fnFIE_draw_rect(hImg, val, mode, start, width, height, center, theta); // エラー判定. Assert.IsTrue(status == (int)f_err.F_ERR_NONE, "エラーが発生しました。({0})", (f_err)status); // 処理画像の保存. api.fnFIE_save_png(ResultDir + "/fnFIE_draw_rect.png", hImg, -1); } finally { // オブジェクトの開放. hImg.Dispose(); val.Dispose(); } } } } |
Visual Basic | Copy |
---|---|
' $Revision: 1.1 $ Imports System.Collections.Generic Imports System.Text Imports fvalgcli Public Partial Class FIE ''' <summary> ''' 長方形の描画. ''' </summary> <FvPluginExecute> _ Public Sub fnFIE_draw_rect() Dim status As Integer = CInt(f_err.F_ERR_NONE) Dim hImg As FHANDLE = FHANDLE.Zero ' 処理画像. Dim val As DOUBLE_PTR = IntPtr.Zero ' 濃度値を格納した配列(チャネル数分) Const mode As f_draw_fill_mode = f_draw_fill_mode.F_DRAW_FILL_IN ' 描画モード. Dim start As DPNT_T ' 始点. Dim width As Double ' 幅. Dim height As Double ' 高さ. Dim center As DPNT_T ' 回転のための中心点. Dim theta As Double ' 回転角. Const img_width As Integer = 128 Const img_height As Integer = 64 Try ' 処理画像の生成. hImg = api.fnFIE_img_root_alloc(CInt(f_imgtype.F_IMG_UC8), 1, img_width, img_height) api.fnFIE_img_clear(hImg, 128 \ 2) Dim channels As Integer = api.fnFIE_img_get_channels(hImg) ' 配列の確保(アンマネージヒープに確保される). val = DOUBLE_PTR.alloc(channels) For i As Integer = 0 To channels - 1 val(i) = 128 Next ' 描画する長方形の設定. start.x = img_width \ 4 start.y = img_height \ 4 width = img_width \ 2 height = img_height \ 2 center.x = img_width \ 2 center.y = img_height \ 2 theta = Math.PI * (45.0) / 180.0 ' 処理の実行. status = api.fnFIE_draw_rect(hImg, val, mode, start, width, height, _ center, theta) ' エラー判定. Assert.IsTrue(status = CInt(f_err.F_ERR_NONE), "エラーが発生しました。({0})", CType(status, f_err)) ' 処理画像の保存. api.fnFIE_save_png(ResultDir & "/fnFIE_draw_rect.png", hImg, -1) Finally ' オブジェクトの開放. hImg.Dispose() val.Dispose() End Try End Sub End Class |