2値画像アドレス取得(チャネル0固定)
Namespace: fvalgcliAssembly: fvalgcli (in fvalgcli.dll) Version: 3.1.0.0 (3.1.0.11)
Syntax
C# |
---|
public static void fnFIE_img_get_binadrs( FHANDLE himg, ref IntPtr adrs, ref int bitpos ) |
Visual Basic |
---|
Public Shared Sub fnFIE_img_get_binadrs ( himg As FHANDLE, ByRef adrs As IntPtr, ByRef bitpos As Integer ) |
Parameters
- himg
- Type: fvalgcli..::..FHANDLE
アドレスを取得する画像のハンドル
- adrs
- Type: System..::..IntPtr%
左上画素が含まれるブロックのアドレス
- bitpos
- Type: System..::..Int32%
ブロック内の左上画素のビット位置。 ブロック内一番左側(X座標が小さい方)を0とする0〜31の値。
Examples
C# | Copy |
---|---|
// $Revision: 1.1 $ using System; using System.Collections.Generic; using System.Text; using fvalgcli; namespace TC { public partial class FIE { /// <summary> /// 2値画像の画像アドレス取得(チャネル0固定). /// </summary> [FvPluginExecute] public void fnFIE_img_get_binadrs() { FHANDLE hroot = IntPtr.Zero; FHANDLE hchild = IntPtr.Zero; int type = (int)f_imgtype.F_IMG_BIN; // 2値画像. int channels = 3; int width = 320; int height = 240; try { // root 画像生成. hroot = api.fnFIE_img_root_alloc(type, channels, width, height); Assert.IsTrue(hroot != FHANDLE.Zero, "fnFIE_img_root_alloc: エラーが発生しました。"); // child 画像生成. hchild = api.fnFIE_img_child_alloc(hroot, 70, 20, 128, 64); Assert.IsTrue(hchild != FHANDLE.Zero, "fnFIE_img_child_alloc: エラーが発生しました。"); // 2値画像の画像アドレス取得(チャネル0固定). { IntPtr adrs = IntPtr.Zero; int bitpos = 0; api.fnFIE_img_get_binadrs(hchild, ref adrs, ref bitpos); Assert.IsTrue(adrs != IntPtr.Zero, "画像アドレス:取得できていません"); Assert.IsTrue(bitpos == 70 % 64, "値が一致しません。({0})", bitpos); Console.WriteLine("adrs={0}, bitpos={1}", adrs.ToInt64(), bitpos); } // 2値画像の画像アドレス取得. { IntPtr adrs = IntPtr.Zero; int bitpos = 0; api.fnFIE_img_get_ch_binadrs(hchild, 1, ref adrs, ref bitpos); Assert.IsTrue(adrs != IntPtr.Zero, "画像アドレス:取得できていません"); Assert.IsTrue(bitpos == 70 % 64, "値が一致しません。({0})", bitpos); Console.WriteLine("adrs={0}, bitpos={1}", adrs.ToInt64(), bitpos); } } finally { hroot.Dispose(); hchild.Dispose(); } } } } |
Visual Basic | Copy |
---|---|
' $Revision: 1.1 $ Imports System.Collections.Generic Imports System.Text Imports fvalgcli Public Partial Class FIE ''' <summary> ''' 2値画像の画像アドレス取得(チャネル0固定). ''' </summary> <FvPluginExecute> _ Public Sub fnFIE_img_get_binadrs() Dim hroot As FHANDLE = IntPtr.Zero Dim hchild As FHANDLE = IntPtr.Zero Dim type As Integer = CInt(f_imgtype.F_IMG_BIN) ' 2値画像. Dim channels As Integer = 3 Dim width As Integer = 320 Dim height As Integer = 240 Try ' root 画像生成. hroot = api.fnFIE_img_root_alloc(type, channels, width, height) Assert.IsTrue(hroot <> FHANDLE.Zero, "fnFIE_img_root_alloc: エラーが発生しました。") ' child 画像生成. hchild = api.fnFIE_img_child_alloc(hroot, 70, 20, 128, 64) Assert.IsTrue(hchild <> FHANDLE.Zero, "fnFIE_img_child_alloc: エラーが発生しました。") ' 2値画像の画像アドレス取得(チャネル0固定). If True Then Dim adrs As IntPtr = IntPtr.Zero Dim bitpos As Integer = 0 api.fnFIE_img_get_binadrs(hchild, adrs, bitpos) Assert.IsTrue(adrs <> IntPtr.Zero, "画像アドレス:取得できていません") Assert.IsTrue(bitpos = 70 Mod 64, "値が一致しません。({0})", bitpos) Console.WriteLine("adrs={0}, bitpos={1}", adrs.ToInt64(), bitpos) End If ' 2値画像の画像アドレス取得. If True Then Dim adrs As IntPtr = IntPtr.Zero Dim bitpos As Integer = 0 api.fnFIE_img_get_ch_binadrs(hchild, 1, adrs, bitpos) Assert.IsTrue(adrs <> IntPtr.Zero, "画像アドレス:取得できていません") Assert.IsTrue(bitpos = 70 Mod 64, "値が一致しません。({0})", bitpos) Console.WriteLine("adrs={0}, bitpos={1}", adrs.ToInt64(), bitpos) End If Finally hroot.Dispose() hchild.Dispose() End Try End Sub End Class |