这幅图显示了一个图像浏览器运行在浏览器中显示两项相同的形象。的形象是一个典型的8.5 - 11英寸文档扫描300 DPI。左边的图像是如何imageview使用浏览器内置的插值将显示它。右边的图像显示使用LEADTOOLS scale-to-gray插值:
插值图像数据可能不是一个即时操作。一个典型的8.5 - 11英寸文档在300 DPI(2550×3300像素)将100毫秒到1秒,这取决于浏览器和设备。因此,imageview使用JavaScript Web Workers(当支持,一个JavaScript超时处理否则)在一个单独的线程中执行插值和更新表面插值图像在需要的时候。所有的这些都是自动执行,应用程序只需要设置ImageViewer.InterpolationMode属性到所需的值。
JavaScriptMaximumInterpolationSize属性需要一个整数值指定应该用于插值多少数据。如果宽度或高度大于这个值(默认4096年像素),页面是按比例缩小,直到维度匹配MaximumInterpolationSize价值。通过这种方式,减少输入数据提供给插入器。这个尺寸可以加快插值时间变化和减少内存消耗,但也提供了削弱插值结果。另一种方式来管理插值内存消耗,明白了InterpolationRunMode下面讨论。
JavaScriptInterpolationRunMode财产的价值InterpolationRunMode指定是否插值顺序或并行发生。指InterpolationRunMode为更多的信息。
指InterpolationMode为支持的插值模式的描述imageview。
执行以下步骤在您的应用程序中使用插值:
插值是使用来执行的LEADTOOLS图像处理支持。JavaScript库,包含了插值的代码Leadtools.ImageProcessing.Core.js
。确保此文件包含在您的应用程序与其他LEADTOOLS JavaScript库。
设置静态ImageViewer.ImageProcessingLibrariesPath属性的路径Leadtools.ImageProcessing.Core.js
文件是相对于页面。例如,如果. js文件在一个文件夹叫“自由”,然后使用下面的代码在使用插值imageview:
lt.Controls.ImageViewer。ImageProcessingLibrariesPath = "自由";
创建imageview例如像往常一样,这段代码使用图像查看器:
/ /得到图像查看器的父div
vardiv = . getelementbyid (“imageViewerContainer”);
/ /创建一个新的图像查看器实例
varcreateOptions =新lt.Controls.ImageViewerCreateOptions (div);
varimageview =新lt.Controls.ImageViewer (createOptions);
/ /加载一个图像
imageview。imageUrl =“http://localhost/images/ocr1.png”;
/ /设置锅/缩放交互模式。单击(触摸)和拖动锅,ctrl - Click(压力)和拖动缩放
设定的值ImageViewer.InterpolationMode到所需的值。我们设定一个黑白图像查看器,可以插入InterpolationMode.Resample:imageview。InterpolationMode = lt.Controls.InterpolationMode.resample;
这是它。运行演示,请注意,当你放大图像(使它更小),插值会提高质量。应用插值放大和缩小,用户界面保持响应自图像查看器是使用web工人。
注意,使用InterpolationMode.ScaleToGray可能会产生更好的结果,如果原始图像是双调的(1位/像素黑白图像)。然而,在大多数情况下InterpolationMode.Resample可以为黑色/白色和彩色图像没有明显的外观和速度的差异和推荐使用它。
插值时发生转换的结果图像结果的显示尺寸小于原始图像的大小。当这个变换结果相同或更大的显示尺寸,那么观众就不会使用插值。
的imageview根据需要启动和停止插值(的范围内InterpolationRunMode)和ImageViewer.Interpolation事件发生时的信息在这个过程开始时,完成或中止如下:
当InterpolationMode不是InterpolationMode.None,观众将监控图像显示的大小对每一项(或图像)。当显示尺寸小于原始图像大小插值事件触发状态等于InterpolationStatus.Started表明观众已经开始这个过程。应用程序可以随时中止插值如果需要手动设置的值IsCanceled来真正的。
在这个过程结束的时候,数据准备,观众呈现这表面上的每个图像和数据插值事件再次发射状态等于InterpolationStatus.Completed。
如果之间的期间开始和完成用户查看器或缩放或添加/删除会导致图像或任何其他操作ImageViewer.UpdateTransform被称为,插值事件触发状态等于InterpolationStatus.Aborted和数据是无视。手术后将重新开始UpdateTransform完成工作使用最新的图像数据和转换
如果一个错误发生在插值插值事件触发状态设置为InterpolationStatus.Error和错误的对象错误。