图像处理工具包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. C#对象的声明与实例化

    在代码中我们经常能看到下面这样的语句. A a = new A();(1) B b = null;(2) C c;(3) 代码( 1 ) 创建 A 的对象并对其进行初始化. A :类: new A() ...

  2. win2003下全自动快速安装php+mysql套件

    导读:Windows 2003下一键快速安装PHP和MySql的安装包 场景:wind2003 32位 php5.2 1.下载php+mysql套件 地址1 http://pan.baidu.com/ ...

  3. Access数据库创建、使用

    1.创建Access数据库表 1)在office中打开Microsoft Access2010,选择空数据库创建数据库StudentInfo. 2)创建新表,在表格第一列选择数据类型,并输入列名. 3 ...

  4. window.open被浏览器拦截的解决方案

    现象 最近在做项目的时候碰到了使用window.open被浏览器拦截的情况,搞得人无比郁闷啊,虽然在自己的环境可以对页面进行放行,但是对用户来说,不能要求用户都来通过拦截.何况当出现拦截时,很多小白根 ...

  5. MVC部署 - 错误集锦

    一.MVC部署后直接显示文件列表,路由未生效,效果如下: 处理方法为:Web.Config修改一下配置: <system.webServer> <validation validat ...

  6. python 环境问题

    1. 查看python安装的模块及版本 $pip freeze Babel== Flask== Flask-HTTPAuth== Flask-RESTful== Flask-SQLAlchemy==2 ...

  7. Vue.2.0.5-插件

    开发插件 插件通常会为Vue添加全局功能.插件的范围没有限制--一般有下面几种: 添加全局方法或者属性,如: vue-element 添加全局资源:指令/过滤器/过渡等,如 vue-touch 通过全 ...

  8. autorelease基本概念

    // //  main.m //  01-autorelease基本概念 // //  Created by apple on 14-3-18. //  Copyright (c) 2014年 app ...

  9. 在Android平台下的基于Linux-C 的测试程序

    iTOP-4412 开发板可以运行的文件系统很多,在具体的文件系统上实现特定功能前,可以 使用Linux-C 程序来测试硬件以及驱动.而且这些程序很容易移植到Android.Qt/E 以及最小文件系统 ...

  10. eclipse Project facet Java version 1.8 is not supported.

    在移植eclipse项目时,如果遇到 “Project facet Java version 1.7 is not supported.” 项目中的jdk1.7不支持.说明项目是其他版本jdk编译的, ...