A Sophisticated Imaging Toolkit
By Steve C. Orr
If a picture is worth a thousand words, then what is a top-notch picture processing toolkit worth? How about if you add document image processing with optical character recognition (OCR)? Atalasoft provides all this and more with their new 6.0 version of DotImage, a sophisticated imaging component library.
Process Pictures Programmatically
While there are several choices of .NET-compatible imaging toolkits available on the market, most concentrate almost exclusively on Windows forms technology. Indeed, DotImage 6.0 does provide rich Windows development support, including cutting-edge tools like a Windows Presentation Foundation (WPF) image viewer control. But DotImage 6.0 is one of the few toolkits that also provides impressive tools for ASP.NET, including cutting-edge AJAX features. Specifically, there are three new Web controls that DotImage 6.0 provides. They are all lightweight and simple to deploy, requiring only that a few DLLs be placed in the bin directly no GAC registration is required.
The WebImageViewer control provides a quick and efficient way for end users to zoom and scroll their way around an image. It uses lightweight AJAX calls to intelligently retrieve only the tiled pieces of the underlying image that are required to display the user s current view of the image. It also provides a rubber band tool so users may select a specific portion of the image. Although there are dozens of optional properties for adjusting the look and feel of the control at run time, a typical design-time ASPX declaration will look similar to this:
Viewer" width="500px" height="420px" BrowserFormat="Auto" Centered="True">
titlebar="Main Viewer" width="500px" height="420px"
There also is an associated WebThumbnailViewer control that optionally can be used to provide users with a full alternate view of the image. Simply set the ViewerID property to the ID of the associated WebImageViewer control to link the controls together. This will cause the two controls to automatically synchronize with each other for a seamless, intuitive run-time experience (see Figure 1).
Figure 1: The WebImageViewer and the WebThumbnailViewer controls work seamlessly together.
Wrapping up the trio of included Web controls is the WebAnnotationViewer. It s based on the WebImageViewer control, but enhances it with features that allow annotations to be overlaid on top of the image. Users can then optionally adjust these annotations at run time with drag and drop simplicity.
Typically, you ll surround these controls with a user interface of your own design to expose other capabilities of the underlying DotImage library. For example, you might choose to expose a dropdown list of options to allow the user to emboss, flip, or rotate the image. The server-side code for such an operation is fairly simple:
Dim command As ImageCommand
command = New RotateCommand(90.0) 'Rotate 90 degrees
To summarize the above code, an Atalasoft command object is created and then simply applied to the viewer control. Atalasoft s many other image processing effects are exposed programmatically via this same design pattern. Note that the above code utilizes a couple custom Atalasoft namespaces referenced via the Imports declarations: Atalasoft.Imaging.ImageProcessing and Atalasoft.Imaging.ImageProcessing.Transforms.
At the Core
Underlying all the controls is the speedy DotImage image processing library. It covers all the basic functionality you d expect from an imaging toolkit, such as the ability to convert between image formats via a rich array of included codecs. Entire images (or even specified regions within an image) can be cropped and processed in various ways as needed. Thumbnail images can be created more quickly and at a higher quality than equivalent .NET Framework methods. This is, in part, because of its special multi-core code that allows simultaneous parallel image processing, as well as 64-bit support.
While making pictures prettier is certainly a pleasant capability, money-conscious managers might be more impressed with the toolkit s document imaging capabilities. With features like optical character recognition (OCR), rich PDF processing, and computer aided design (CAD) support, the DotImage library can serve as the foundation of a powerful document management system. Many of Atalasoft s customers have used these tools to create efficient company-wide backbones that bestow employees with quick access to important documents and media of all kinds. With such rich tools, the fabled paperless office could finally become a reality.
In addition to all the included goodness, there are many optional modules available that can be plugged in to satisfy more obscure needs. For example, barcode reading, foreign character recognition, and advanced document/photo cleanup capabilities are just a few of the features provided by optional add-in modules available for purchase from Atalasoft.
The Big Picture
Because image processing can be a relatively complex programmatic undertaking, I was pleased to discover vast amounts of documentation are provided both locally and via Atalasoft s Web site. Another admirable feature of their Web site is the array of useful video tutorials that can help new users get started quickly. There you ll also find FAQ, forum, and knowledge base resources to help ease any unanticipated programming pains.
The DotImage toolkit can be freely downloaded for evaluation purposes so that precious budget resources needn t be committed until you re satisfied it meets your requirements. The DotImage toolkit download package is about 53 megabytes, or 77 if you include the fancy OCR features.
The price is reasonable for such a powerful imaging toolkit. Single developer licenses start at US$599, and that now includes three free months of gold-level technical support.
Whether you re still stuck using version 1.1 of the .NET Framework or have been blessed with the cutting-edge tools of Visual Studio 2008, the feature-rich DotImage 6.0 library will be there by your side providing full support for all such environments.
Major players in the digital photo industry such as Corbis and Getty Images rely on DotImage s photo processing capabilities to fulfill their image processing needs. If it can satisfy image-hungry companies like these, it should be suitable for just about any company s needs.
Price: Starts at US$599
Steve C. Orr is an ASPInsider, MCSD, Certified ScrumMaster, Microsoft MVP in ASP.NET, and author of Beginning ASP.NET 2.0 AJAX (Wrox). He s been developing software solutions for leading companies in the Seattle area for more than a decade. When he s not busy designing software systems or writing about them, he often can be found loitering at local user groups and habitually lurking in the ASP.NET newsgroup. Find out more about him at http://SteveOrr.net or e-mail him at mailto:[email protected].