在 Silverlight 客户端中显示、保存和注释 100 多种图像格式





0/5 (0投票)
通过最少的努力,您就可以使用 LEADTOOLS V17 加载和保存 100 多种文件格式,使用高级图像处理技术处理图像,并在 Silverlight 客户端应用程序中直接实现注释,从而无需调用外部服务器。
引言
LEAD Technologies 自 1990 年以来一直是数字成像工具的杰出供应商。其屡获殊荣的 LEADTOOLS 工具包系列帮助开发人员快速轻松地将光栅、文档、医疗、多媒体、矢量和 Internet 成像集成到他们的应用程序中。使用 LEADTOOLS 来满足您的成像需求,可以让您将更多时间花在用户界面和应用程序特定的代码上,从而加快您的开发周期并提高投资回报率。
LEADTOOLS Silverlight Imaging SDK 包含在 LEADTOOLS Document 和 Medical Imaging 产品组的所有产品中。LEADTOOLS 为 Silverlight 开发人员提供了加载、显示、处理和保存 Silverlight 框架本身不具备的多种图像格式(如 JPEG 2000、TIFF、JBIG2 和 DICOM)的能力。由于是 100% 纯托管 Silverlight 二进制文件,图像可以在 Silverlight 应用程序中直接处理和注释,无需外部依赖或服务器调用。
LEADTOOLS 附带多个查看组件,包括图像查看器、图像列表和缩略图窗口。查看器配有许多自动化的交互式工具,使开发人员可以轻松实现滚动、平移、缩放、放大镜等功能,以生成优雅的用户体验。通过缩略图窗口和图像列表控件,可以轻松浏览高分辨率和多页图像。
使用 LEADTOOLS 还可以实现基于 Silverlight 的文档成像应用程序。支持流行的双色压缩格式,如 CCITT、FAX 和 JBIG2。为了最大化 OCR 和条形码识别的可读性、压缩率和准确性,开发人员可以通过倾斜校正和去除线条、打孔、边框等来清理图像。使用 LEADTOOLS 完全自动化的注释,在 Silverlight 应用程序中添加注释和标记非常简单。加载、保存和编辑流行的注释类型,包括线条、标尺、多边形、曲线、注释、高亮、 redaction 等。
在本文中,我们将向您介绍新的 Silverlight 类的关键功能,并提供一个实现它们的循序渐进的教程。通过下载教程下方链接提供的功能齐全的评估 SDK,您可以亲自尝试。
主要特点
- 100% 纯托管 Silverlight 二进制文件
- 加载和保存 100 多种图像格式,包括 PDF、JPEG2000、FAX、CCITT、JBIG2 和 TIFF
- 在功能丰富的高级查看器控件中显示图像,该控件配备了交互式功能,如滚动、平移、缩放、放大镜和变焦
- 利用图像列表和缩略图窗口控件轻松浏览多页和高分辨率图像
- 执行 200 多种高级图像处理功能,包括文档清理
- 使用 Pixel Shaders 即时应用图像转换,如反色、快门、锐化、边缘检测、亮度和对比度
- 实现注释和标记,以加载、保存和编辑流行的注释类型,包括标尺、多边形、曲线、高亮和 redaction
- 加载、查看、处理和保存 DICOM 数据集
- 显示和处理 12/16 位扩展灰度图像,具有窗位、多尺度增强、组织均衡等功能
- 使用 WCF 扩展功能,以包含 OCR 和条形码等高级功能
环境
LEADTOOLS Silverlight 类库包含 Silverlight 3 和 4 的二进制文件,用于在 Visual Studio 2008 和 2010 中开发富客户端 Web 和桌面应用程序。
代码
除了我们强大的查看组件外,LEADTOOLS 还附带了包括菜单系统在内的多个实用程序类。要使用它们,您需要添加 Leadtools.Windows.Controls 和 Leadtools.Silverlight.Demos 的命名空间。以下是实现简单菜单和查看器的 XAML 代码。
<UserControl x:Class="LeadtoolsSilverlightExample.MainPage"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:menu="clr-namespace:Leadtools.Silverlight.Demos;assembly=Leadtools.Silverlight.Demos"
xmlns:Leadtools_Windows_Controls="clr-namespace:Leadtools.Windows.Controls;assembly=Leadtools.Windows.Controls" >
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="Auto"></RowDefinition>
<RowDefinition></RowDefinition>
</Grid.RowDefinitions>
<menu:Menu x:Name="MainMenu" Background="#EEEEEE" Grid.Row="0">
<menu:MenuItem Header="File">
<menu:MenuItem Header="Open..." x:Name="FileOpen" Click="FileOpen_Click"/>
<menu:MenuItem Header="Save..." x:Name="FileSave" Click="FileSave_Click"/>
</menu:MenuItem>
</menu:Menu>
<Grid x:Name="LayoutRoot" Grid.Row="1">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="10*"></ColumnDefinition>
<ColumnDefinition Width="Auto"></ColumnDefinition>
</Grid.ColumnDefinitions>
<Leadtools_Windows_Controls:RasterImageViewer x:Name="viewerControl" Grid.Column="0" />
</Grid>
</Grid>
</UserControl>
LEADTOOLS 包含 100% 纯 Silverlight 二进制文件,可用于加载和保存 100 多种图像格式。图像的读取和写入支持通过 RasterCodecs 类处理。该库还可以读取和写入 TIFF 和 EXIF 等文件的元数据标签。为了节省开发人员空间并最大限度地减小部署占用的空间,每种格式都有其自己的编解码器(例如,Leadtools.Codecs.Bmp.dll、Leadtools.Codecs.J2k.dll、Leadtools.Codecs.Tif.dll 等)。下面是一个示例,说明如何使用 LEADTOOLS RasterImageViewer 控件加载和显示图像,以及如何将其保存为 JPEG 2000 流。
private void FileOpen_Click(object sender, RoutedEventArgs e)
{
OpenFileDialog ofd = new OpenFileDialog();
if (ofd.ShowDialog() == true)
{
using (Stream stream = ofd.File.OpenRead())
{
RasterCodecs codecs = new RasterCodecs();
viewerControl.Image = codecs.Load(stream);
}
}
}
private void FileSave_Click(object sender, RoutedEventArgs e)
{
RasterImageFormat format = RasterImageFormat.J2k;
int bitsPerPixel = 24;
SaveFileDialog sfd = new SaveFileDialog();
sfd.Filter = "JPEG2000 Stream (*.j2k)|*.j2k";
if (sfd.ShowDialog() == true)
{
using (Stream stream = sfd.OpenFile())
{
RasterCodecs codecs = new RasterCodecs();
codecs.Save(viewerControl.Image, stream, format, bitsPerPixel);
}
}
}
LEADTOOLS SDK 提供数百种图像处理功能,可用于处理手头的任何图像。我们拥有您期望的所有基本功能(例如,旋转、翻转等),但也开发了许多用于数学计算、几何变换、颜色操作、感兴趣区域和艺术效果的高级算法。我们还有许多用于专业领域的函数,例如文档图像清理(倾斜校正文档和支票,去除点、线、打孔等)和医疗(窗位、多尺度增强、组织均衡)。我们没有将数百个函数打包到一个对象中,而是将每个图像处理操作分离到单独的命令类中,以便开发人员能够更全面地控制组织和部署占用的空间。下面是一个调整图像颜色属性的简单示例。
ChangeIntensityCommand cmdIntensity = new ChangeIntensityCommand(250);
cmdIntensity.Run(viewerControl.Image);
ChangeContrastCommand cmdContrast = new ChangeContrastCommand(-750);
cmdContrast.Run(viewerControl.Image);
ChangeHueCommand cmdHue = new ChangeHueCommand(500);
cmdHue.Run(viewerControl.Image);
最后,LEADTOOLS 可以轻松地为您的 Silverlight 客户端应用程序添加高级、可定制且完全自动化的注释和标记支持。在应用程序初始化代码中,只需实例化并设置几个对象,添加一个工具栏,您就可以开始使用 LEAD 的自动化注释了。
AnnAutomationManager manager = new AnnAutomationManager();
manager.CreateDefaultObjects();
manager.CreateToolBar();
LayoutRoot.Children.Add(manager.ToolBar);
manager.ToolBar.Orientation = Orientation.Vertical;
manager.ToolBar.HorizontalAlignment = HorizontalAlignment.Center;
manager.ToolBar.UpdateLayout();
Grid.SetColumn(manager.ToolBar, 1);
_automation = new AnnAutomation(manager, viewerControl);
结论
LEADTOOLS 为开发人员提供了世界上性能最佳、最稳定的成像库,并提供易于使用的、高级别的编程接口,从而能够快速开发业务关键型应用程序。新版本 17 将允许 Silverlight 开发人员扩展图像格式支持,并在富客户端 Web 应用程序中处理和注释图像。
Silverlight 只是 LEADTOOLS 提供的众多技术之一。有关我们其他产品的更多信息,请务必访问我们的主页并下载免费的功能齐全的评估 SDK,并在评估期间利用我们的免费技术支持。
下载完整示例
您可以下载一个功能齐全的演示,其中包括上述功能以及一些图像处理和交互式查看功能。要运行此示例,您需要以下内容:
- LEADTOOLS V17 文档成像
- Visual Studio 2010
- Microsoft Silverlight 4 Tools for Visual Studio 2010
LEADTOOLS 还包含 Silverlight 3 的二进制文件和示例。要使用它们,您需要 Visual Studio 2008 和 Microsoft Silverlight 3 Tools for Visual Studio 2008。
如果您想在购买前试用 LEADTOOLS 文档成像,您可以 下载 LEADTOOLS 免费 60 天评估版。
支持
需要帮助才能使此示例正常运行?联系我们的支持团队,获得免费技术支持!有关定价或许可问题,您可以联系我们的销售团队(sales@leadtools.com)或致电 704-332-5532。