图像处理工具包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. javascript知识点记录(2)

    1.js 异步加载和同步加载 异步加载模式也叫非阻塞模式,浏览器在下载js的同时,同时还会执行后续的页面处理, 在script标签内,用创建一个script元素,并插入到document中,这样就是异 ...

  2. LeetCode Longest Increasing Path in a Matrix

    原题链接在这里:https://leetcode.com/problems/longest-increasing-path-in-a-matrix/ Given an integer matrix, ...

  3. rank 和 星星评级

    我们常常看到打分,如下图 这样的效果有几种方法 1.用:lt(index) /* $('dl').each(function(){ var ths = $(this); $(this).find('d ...

  4. iOS:BitCode的介绍

    一.什么是BitCode?作用是什么? Bitcode is an intermediate representation of a compiled program. Apps you upload ...

  5. shell中&&和||的使用方法_转

    shell中&&和||的使用方法 &&运算符:   command1  && command2   &&左边的命令(命令1)返回真(即返 ...

  6. Java Collections的排序之二

    package test.list; import java.util.ArrayList; import java.util.Collections; import java.util.HashSe ...

  7. 微信的公众号unionid

    此外,由于开发者经常有需在多个平台(移动应用.网站.公众帐号)之间共通用户帐号,统一帐号体系的需求,微信开放平台(open.weixin.qq.com)提供了UnionID机制.开发者可通过OpenI ...

  8. 数据块损坏(block corruption)

    分为物理损坏和逻辑损坏-物理损坏一般指数据块头部不可以访问.数据块校验值不合法,数据块格式不再是oracle承认的格式-逻辑损坏一般是在物理性结构完整的情况下,数据的内容在含义上不正确,比如保存了不允 ...

  9. 通过SSIS监控远程服务器磁盘空间并发送邮件报警!

    由于之前ESB是供应商部署的,且部署在C盘(C盘空间很小,还添加了很多ESB的windows服务日志在C盘,很容易把C盘空间占满,导致ESB服务运行宕机,几乎每隔几周发生一次事故,需要人工干预处理,不 ...

  10. 【转】线程、Thread类和线程终止

    一.线程Thread启动 0. Thread类实现了java.lang.Runnable接口,即实现了run方法.虽然在Sun JDK中,start()调用了start0()方法,start0()方法 ...