图像处理工具包ImagXpress的开发厂商Accusoft Pegasus旗下有多种图像处理相关的控件,但是这些图像处理控件之间的如何加传递图像数据呢?在ImagXpress 11版本之前,是需要将图像的数据用DIB格式表示,不过后来逐渐的就开始寻找一种更加简单的方法来实现组件间的图像数据的传递,最终达到想一个方法调用般简单。

在Accusoft Pegasus下的任何产品或是组合,只要支持可以用简单的方法发送图像的数据到另一个Accusoft对象的Accusoft图像,就将会有两种方法实现数据传递:CopyTo(对象目的地)以及TransferTo(对象目的地),同时任何支持可以简单接收图像数据的Accusoft图像类将会在它的其他文档中出现。

一个CopyTo方法构成了一个完整的图像数据副本,当被调用的时候,源和目标对象将会包含它们相同图像数据的自己单独的副本。一个TransferTo 方法,在另一方面,将完全从一个对象到另一个对象传输图像数据,当完成的时候,这个源对象将不再包含图像数据,这个图像也将会被目标对象所有。

ImagXpress组件中的数据传递

在ImagXpress组件套包中,有四类支持通过CopyTo和TransferTo方法发送它们的图像数据:

ImagXpress - Accusoft.ImagXpressSdk.ImageX

TwainPRO - Accusoft.TwainProSdk.ScannedImage

ISIS Xpress - Accusoft.ISISXpressSdk.Output

ThumbnailXpress - Accusoft.ThumbnailXpressSdk.ThumbnailItem

在ImagXpress组件套包中,只有ImagXpress ImageX类支持接收图像数据,其他的Accusoft产品可能包含额外的类用于可以发送和接收图像数据。

如何从一个ImageX对象传输图像数据到另一对象

即使只是ImagXpress组件,你可以实现简单的从一个ImageX对象到另一个对象之间的复制或传递图像的数据。

C# 示例代码,获取

在上面的示例中,创建了一个小的24位红色图像对象,并命名为redImage,同时保存了它的图像数据为“original.bmp”到磁盘上,如果你打开这个文件,就会看见一个红色的图像。

然后创建一个大的,一个字节的白色图像,命名为whiteImage,但是不是保存到磁盘上,问首先传递它的图像数据到redImage对象上,然后再次 保存redImage当前的图像数据,这次保存为“transferred.bmp”。由于在whiteImage对象里面的图像数据完全转移到 redImage对象上,所以如果你打开第二个文件,就会看见一个大的白色图像。

有兴趣的可以去下载试用一下ImagXpress

图像处理工具包ImagXpress教程:Accusoft不同组件间的图像数据传递的更多相关文章

  1. 图像处理工具包ImagXpress中如何定义图像显示属性

    图像处理工具包ImagXpress中如何定义图像显示属性,如色彩管理.设置工具栏和工具.设置上下文&工具栏菜单.配置滚动条.鼠标和键等······ 在显示图像时的色彩管理 在ImagXpres ...

  2. React学习(2)—— 组件的运用和数据传递

    React官方中文文档地址:    https://doc.react-china.org/ 了解了组件之后,就需要理解“Props”和“State”的用法.首先来介绍State,State按照字面意 ...

  3. 图像处理工具包ImagXpress中如何定义查看器的属性

    想要在图像处理控件ImagXpress中查看一个图像,首先需要创建一个查看器,之后你可以按照你自身的需要,来定义查看器的属性. 创建查看器 想要动态的创建一个查看器,需要先定义一个新的mageXVie ...

  4. [Unity3D]场景间切换与数据传递(以及物体删除技巧)

    http://blog.163.com/kingmax_res/blog/static/77282442201031712216508/ 先介绍一些基本函数(具体用法自己查文档):---------- ...

  5. vue父组件异步获取动态数据传递给子组件获取不到值

    原理: 在父组件中使用axios获取异步数据传给子组件,但是发现子组件在渲染的时候并没有数据,在created里面打印也是空的,结果发现一开始子组件绑定的数据是空的,在请求数据没有返回数据时,子组件就 ...

  6. TopJUI | easyui HTML Dialog页面间GET方式数据传递

    较容易的方式通过URL内带参数进行数据传递 var url = "apddList.html?c0=" + row.uuid + "&c1=" + ro ...

  7. 浅谈Vue不同场景下组件间的数据交流

    浅谈Vue不同场景下组件间的数据“交流”   Vue的官方文档可以说是很详细了.在我看来,它和react等其他框架文档一样,讲述的方式的更多的是“方法论”,而不是“场景论”,这也就导致了:我们在阅读完 ...

  8. webpack+vue 组件间传参(单一事件中心管理组件通信--$root),如果有路由的话会失效

    先给一个例子: <body> <div id="box"> <com-a></com-a> <com-b></co ...

  9. 【Vue】浅谈Vue不同场景下组件间的数据交流

    浅谈Vue不同场景下组件间的数据“交流”   Vue的官方文档可以说是很详细了.在我看来,它和react等其他框架文档一样,讲述的方式的更多的是“方法论”,而不是“场景论”,这也就导致了:我们在阅读完 ...

随机推荐

  1. Object转换为json格式

    public String toJSONString(Object obj)     {              SerializeWriter serializewriter = new Seri ...

  2. LeetCode Lowest Common Ancestor of a Binary Tree

    原题链接在这里:https://leetcode.com/problems/lowest-common-ancestor-of-a-binary-tree/ 题目: Given a binary tr ...

  3. diff命令和patch命令

    diff命令和patch命令 Linux就这个范儿 2.9.5 文件对比命令——diff diff命令搭建网站离不开数据库,在Linux系统上我们使用源码安装了MySQL服务器.不久我们发现 Goog ...

  4. Android 使用PullToRefreshExpandableListView不能setAdapter的问题

    private PullToRefreshExpandableListView lv; lv = (PullToRefreshExpandableListView) findViewById(R.id ...

  5. C# 读取app.config配置文件节点键值,提示"配置系统未能初始化" 错误的解决方案

    MSDN里写到, 如果配置文件中包含 configSections 元素,则 configSections 元素必须是 configuration 元素的第一个子元素. 将自己添加的appSettin ...

  6. Java 多线程Thread和Runnable

    Thread: class MyThread extends Thread { private int ticketsCont=5; //一共有5张火车票 private String name; / ...

  7. protocol(协议)的一些要点

    //遵循协议的变量声明 //要求你创建的PErson对象必须是遵循了 PersonProtocol Person<PersonProtocol> * p2 = [[Person alloc ...

  8. fpm来制作rpm包

    转自 http://blog.halfss.com/blog/2013/02/26/fpmbao-guan-li/ 另查看 http://my.oschina.net/lxcong/blog/1438 ...

  9. 查看oracle数据库中的保留字

    SQL> select * from v$reserved_words;

  10. 从零开始PHP攻略(2)——操作符与迭代整理

    目录: 10.操作符整理 11.表单计算代码 12.优先级与结合性 13.可变函数 14.条件判断 15.循环迭代 16.跳出控制 17.可替换的控制结构 10.操作符 10.1 算术操作符 算术操作 ...