zw版【转发·台湾nvp系列Delphi例程】HALCON DispArc

zw版【转发·台湾nvp系列Delphi例程】HALCON DispArc
----------
RAD Studio XE Delphi x64

procedure TForm1.Button1Click(Sender: TObject);
var
ho_Image: HImageX;
w, h: OleVariant;
cr, br: OleVariant;
cc, bc: OleVariant;
rd: OleVariant;
tuple: HTupleX;
Style: OleVariant;
begin
ho_Image := CoHImageX.Create;
tuple := CoHTupleX.Create;
ho_Image.ReadImage('ic0');
w := ho_Image.GetImageSize(h);
HWindowX1.SetPart(0, 0, h - 1, w - 1);
HWindowX1.SetDraw('margin');
ho_Image.DispObj(HWindowX1);
cr := tuple.TupleConcat(150, 150);
cc := tuple.TupleConcat(150, 150);
br := tuple.TupleConcat(150, 150);
bc := tuple.TupleConcat(200, 250);
rd := tuple.TupleConcat(Pi / 2, Pi / 2);
Style := tuple.TupleConcat(tuple.TupleConcat(tuple.TupleConcat(20, 7), 3), 7);
HWindowX1.SetColor('red');
HWindowX1.SetLineStyle(Style);
HWindowX1.DispArc(cr, cc, rd, br, bc);
cr := tuple.TupleConcat(150, 150);
cc := tuple.TupleConcat(150, 150);
br := tuple.TupleConcat(150, 150);
bc := tuple.TupleConcat(300, 350);
rd := tuple.TupleConcat(-Pi / 4, -Pi / 4);
Style := tuple.TupleConcat(3, 3);
HWindowX1.SetColor('magenta');
HWindowX1.SetLineStyle(Style);
HWindowX1.DispArc(cr, cc, rd, br, bc);
cr := tuple.TupleConcat(150, 150);
cc := tuple.TupleConcat(150, 150);
br := tuple.TupleConcat(150, 150);
bc := tuple.TupleConcat(100, 50);
rd := tuple.TupleConcat(Pi / 2, Pi / 2);
Style := Null;
HWindowX1.SetColor('white');
HWindowX1.SetLineStyle(Style);
HWindowX1.DispArc(cr, cc, rd, br, bc);
end;
procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);
begin
op.CloseWindow(HWindowX1.HalconID);
end;
procedure TForm1.FormShow(Sender: TObject);
begin
Self.Caption := Self.Caption + ' Delphi ' + IntToStr(Sizeof(Pointer) * 8);
op := CoHOperatorSetX.Create;
op.SetCheck('~father');
HWindowX1 := CoHWindowX.Create();
HWindowX1.OpenWindow(0, 0, Panel1.ClientWidth, Panel1.ClientHeight,
Int64(Panel1.Handle), 'visible', '');
end;
--------------------

Delphi

procedure TForm1.Button1Click(Sender: TObject);
var
ho_Image : HImageX;
w, h : OleVariant;
cr, br : OleVariant;
cc, bc : OleVariant;
rd : OleVariant;
tuple: HTupleX;
Style : OleVariant;
begin
ho_Image := CoHImageX.Create;
tuple := CoHTupleX.Create;

ho_Image.ReadImage('ic0');
w := ho_Image.GetImageSize(h);
HWindowXCtrl1.HalconWindow.SetPart(0, 0, h - 1, w - 1);
HWindowXCtrl1.HalconWindow.SetDraw('margin');
ho_Image.DispObj(HWindowXCtrl1.HalconWindow);

cr := tuple.TupleConcat(150, 150);
cc := tuple.TupleConcat(150, 150);
br := tuple.TupleConcat(150, 150);
bc := tuple.TupleConcat(200, 250);
rd := tuple.TupleConcat(Pi / 2, Pi / 2);
Style := tuple.TupleConcat(tuple.TupleConcat(tuple.TupleConcat(20, 7), 3), 7);
HWindowXCtrl1.HalconWindow.SetColor('red');
HWindowXCtrl1.HalconWindow.SetLineStyle(Style);
HWindowXCtrl1.HalconWindow.DispArc(cr, cc, rd, br, bc);

cr := tuple.TupleConcat(150, 150);
cc := tuple.TupleConcat(150, 150);
br := tuple.TupleConcat(150, 150);
bc := tuple.TupleConcat(300, 350);
rd := tuple.TupleConcat(-Pi / 4, -Pi / 4);
Style := tuple.TupleConcat(3, 3);
HWindowXCtrl1.HalconWindow.SetColor('magenta');
HWindowXCtrl1.HalconWindow.SetLineStyle(Style);
HWindowXCtrl1.HalconWindow.DispArc(cr, cc, rd, br, bc);

cr := tuple.TupleConcat(150, 150);
cc := tuple.TupleConcat(150, 150);
br := tuple.TupleConcat(150, 150);
bc := tuple.TupleConcat(100, 50);
rd := tuple.TupleConcat(Pi / 2, Pi / 2);

Style := Null;
HWindowXCtrl1.HalconWindow.SetColor('white');
HWindowXCtrl1.HalconWindow.SetLineStyle(Style);
HWindowXCtrl1.HalconWindow.DispArc(cr, cc, rd, br, bc);
end;

zw版【转发·台湾nvp系列Delphi例程】HALCON DispArc的更多相关文章

  1. zw版【转发·台湾nvp系列Delphi例程】HALCON DirectShow (Delphi Prism)

    zw版[转发·台湾nvp系列Delphi例程]HALCON DirectShow (Delphi Prism) namespace DirectShow_Prism;interfaceuses Sys ...

  2. zw版【转发·台湾nvp系列Delphi例程】HALCON HImage与Bitmap格式转换

    zw版[转发·台湾nvp系列Delphi例程]HALCON HImage与Bitmap格式转换 (Delphi Prism)namespace HImage_Bitmap_Prism;interfac ...

  3. zw版【转发·台湾nvp系列Delphi例程】.NET调用HALCON COM控件内存释放模式

    zw版[转发·台湾nvp系列Delphi例程].NET调用HALCON COM控件内存释放模式 ------------------------------------方法一 :Imports Sys ...

  4. zw版【转发·台湾nvp系列Delphi例程】HALCON HWindow Overlayer 1

    zw版[转发·台湾nvp系列Delphi例程]HALCON HWindow Overlayer 1 ------------------------------------HALCON HWindow ...

  5. zw版【转发·台湾nvp系列Delphi例程】HALCON DirectFile

    zw版[转发·台湾nvp系列Delphi例程]HALCON DirectFile unit Unit1;interfaceuses Windows, Messages, SysUtils, Varia ...

  6. zw版【转发·台湾nvp系列Delphi例程】HALCON DirectShow

    zw版[转发·台湾nvp系列Delphi例程]HALCON DirectShow unit Unit1;interfaceuses Windows, Messages, SysUtils, Varia ...

  7. zw版【转发·台湾nvp系列Delphi例程】Delphi 使用 HALCON库件COM控件数据格式转换

    zw版[转发·台湾nvp系列Delphi例程]Delphi 使用 HALCON库件COM控件数据格式转换 Delphi 使用 HALCON库件COM控件数据格式转换,与IHObjectX接口有关 va ...

  8. zw版【转发·台湾nvp系列Delphi例程】HALCON AddNoiseWhite

    zw版[转发·台湾nvp系列Delphi例程]HALCON AddNoiseWhite unit Unit1;interfaceuses Windows, Messages, SysUtils, Va ...

  9. zw版【转发·台湾nvp系列Delphi例程】HALCON CheckDifference

    zw版[转发·台湾nvp系列Delphi例程]HALCON CheckDifference unit Unit1;interfaceuses Windows, Messages, SysUtils, ...

  10. zw版【转发·台湾nvp系列Delphi例程】HALCON BinThreshold

    zw版[转发·台湾nvp系列Delphi例程]HALCON BinThreshold unit Unit1;interfaceuses Windows, Messages, SysUtils, Var ...

随机推荐

  1. Android 中如何从一个App启动另外一个App(如启动支付界面、启动地图界面、应用商场下载App等场景)

    假定两个App,分别是A和B,当A运行某个功能需要启动B,一种是启动B应用,一种直接进入B的某个Activity.搜了很多资料,没有一个完整的.下面就A--Android5.1.1.B--Androi ...

  2. python2.0 s12 day8 _ socketserver学习

    Socket 概念 一个socket就是一个点对点的链接.当今,大多数的通信都是基于Internet Protocl,因此大多数的网络Socket都是Internet Protocl(互联网)的通信( ...

  3. VS-Qt-OSG-CMake基本项目框架

    在VS-Qt-CMake基础上,打开mainwindow.ui,添加一个QWidget,然后在widget上右键-提升,选择SceneViewWidget CMakeLists.txt中添加了OSG相 ...

  4. oracle查锁表

    查锁表 select LOCK_INFO.OWNER || '.' || LOCK_INFO.OBJ_NAME as OBJ_NAME, -- 对象名称(已经被锁住) LOCK_INFO.SUBOBJ ...

  5. Google's C++ coding style

    v0.2 - Last updated November 8, 2013 源自 Google's C++ coding style rev. 3.274 目录 由 DocToc生成     头文件   ...

  6. Android开发 Android Studio2.0 教程从入门到精通Windows版 - 入门篇

    第一篇 介绍了Android Studio开发环境以及Genymotion虚拟机安装方法,本节将给大家介绍如何使用Android Studio开发应用. 开发第一应用 可以开发属于自己的应用,是否有点 ...

  7. SenchaTouch调用纯数字键盘

    items:[ { itemId:"phoneNumber", xtype: "textfield", component:{xtype:"input ...

  8. java反序列化漏洞的检测

    1.首先下载常用的工具ysoserial 这边提供下载地址:https://jitpack.io/com/github/frohoff/ysoserial/master-v0.0.5-gb617b7b ...

  9. linux显示文件列表命令ls,使用ls --help列出所有命令参数

    ls命令的相关参数 在提示符下输入ls --help ,屏幕会显示该命令的使用格式及参数信息: 先介绍一下ls命令的主要参数: -a 列出目录下的所有文件,包括以 . 开头的隐含文件. -A 显示除 ...

  10. 【BZOJ4922】[Lydsy六月月赛]Karp-de-Chant Number 贪心+动态规划

    [BZOJ4922][Lydsy六月月赛]Karp-de-Chant Number Description 卡常数被称为计算机算法竞赛之中最神奇的一类数字,主要特点集中于令人捉摸不透,有时候会让水平很 ...