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. Kafka中Producer端封装自定义消息

    我们知道KeywordMessage就是被kafka发送和存储的对象.所以只需要模拟出这个就可以发送自定义消息了. 比如我需要将用户的id,user,age,address和访问ip和访问date记录 ...

  2. cut的用法【转】

    cut是一个选取命令,就是将一段数据经过分析,取出我们想要的.一般来说,选取信息通常是针对“行”来进行分析的,并不是整篇信息分析的. (1)其语法格式为:cut  [-bn] [file] 或 cut ...

  3. PyQt4日历部件QXalendarWidget

    QCalendarWidget类提供了以月为单位地日历部件.该部件允许用户以一种简单而直接的方式选择日期. #!/usr/bin/python # -*- coding: utf-8 -*- impo ...

  4. block基本使用和底层

    block基础使用语法   一.block与函数的对比 定义函数指针 int (*myFn)(); 定义Blocks int (^MyBlocks)(int,int); 调用函数指针 (*myFn)( ...

  5. MUI 单个图片上传预览(拍照+系统相册):先选择->预览->上传提交

    1 html部分 <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> < ...

  6. LeetCode——Single Number III

    Description: Given an array of numbers nums, in which exactly two elements appear only once and all ...

  7. Linux命令学习之xargs命令

    xargs命令是给其他命令传递参数的一个过滤器,也是组合多个命令的一个工具.它擅长将标准输入数据转换成命令行参数,xargs能够处理管道或者stdin并将其转换成特定命令的命令参数.xargs也可以将 ...

  8. Windows Phone WebClient的使用

    webClient对象可用来下载XML文件,程序集等这些数据,其可以实现按需下载,所以还是有必要了解的.其主要包含几个事件:                                       ...

  9. .NET截取指定长度字符超出部分以"..."代替

    /// <summary> /// 将指定字符串按指定长度进行剪切, /// </summary> /// <param name= "Str "&g ...

  10. php中函数preg_match或preg_match_all 第三个参数$match的解释

    理解自:http://www.cnblogs.com/vicenteforever/articles/1623137.html php手册中是这样解释的 matches 如果提供了参数matches, ...