円の描画
Namespace: fvalgcliAssembly: fvalgcli (in fvalgcli.dll) Version: 3.1.0.0 (3.1.0.11)
Syntax
C# |
---|
public static int fnFIE_draw_circle(
FHANDLE hImg,
DOUBLE_PTR val,
f_draw_fill_mode mode,
DPNT_T center,
double radius
) |
Visual Basic |
---|
Public Shared Function fnFIE_draw_circle (
hImg As FHANDLE,
val As DOUBLE_PTR,
mode As f_draw_fill_mode,
center As DPNT_T,
radius As Double
) As Integer |
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 |
---|
using System;
using System.Collections.Generic;
using System.Text;
using fvalgcli;
namespace TC
{
public partial class FIE
{
[FvPluginExecute]
public void fnFIE_draw_circle()
{
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 center;
double radius;
const int width = 128;
const int height = 64;
try
{
hImg = api.fnFIE_img_root_alloc((int)f_imgtype.F_IMG_UC8, 1, width, 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;
center.x = (double)(width - 1) / 2;
center.y = (double)(height - 1) / 2;
radius = Math.Min(center.x, center.y);
status = api.fnFIE_draw_circle(hImg, val, mode, center, radius);
Assert.IsTrue(status == (int)f_err.F_ERR_NONE, "エラーが発生しました。({0})", (f_err)status);
api.fnFIE_save_png(ResultDir + "/fnFIE_draw_circle.png", hImg, -1);
}
finally
{
hImg.Dispose();
val.Dispose();
}
}
}
} |
Visual Basic | Copy |
---|
Imports System.Collections.Generic
Imports System.Text
Imports fvalgcli
Public Partial Class FIE
<FvPluginExecute> _
Public Sub fnFIE_draw_circle()
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 center As DPNT_T
Dim radius As Double
Const width As Integer = 128
Const height As Integer = 64
Try
hImg = api.fnFIE_img_root_alloc(CInt(f_imgtype.F_IMG_UC8), 1, width, 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
center.x = CDbl(width - 1) / 2
center.y = CDbl(height - 1) / 2
radius = Math.Min(center.x, center.y)
status = api.fnFIE_draw_circle(hImg, val, mode, center, radius)
Assert.IsTrue(status = CInt(f_err.F_ERR_NONE), "エラーが発生しました。({0})", CType(status, f_err))
api.fnFIE_save_png(ResultDir & "/fnFIE_draw_circle.png", hImg, -1)
Finally
hImg.Dispose()
val.Dispose()
End Try
End Sub
End Class |
See Also