First Looks

ImagXpress Photo: Spruce Up Your Digital Images

ImagXpress Photo includes tons of features for managing digital images, and it's easy-to-use. It's also expensive.

ImagXpress 8 is a comprehensive imaging toolkit for creating, compressing, and manipulating documents and graphics on the Windows platform. The suite includes COM (ActiveX) and .NET versions of the components. This review focuses on the .NET capabilities of ImagXpress 8 Photo in Winforms applications (see Figure 1).

This is high-end software: It supports popular and obscure image file formats, but it also reads and/or writes dozens of flavors within each type. For example, the software handles 13 varieties of Tag Image File Format (TIFF) files, which might seem excessive until your project's specifications include reading one of the more obscure byte-ordering and compression combinations.

Loading an image into ImagXpress can be as simple as providing its file system path or as advanced as getting the data from a stream, the screen, or the clipboard. The LoadOptions object lets you read parts of an image based on an offset, scale it, crop it, rotate it, get a thumbnail version, or adjust the colors or grayscale.

Some graphics formats (especially TIFF and EXIF) support metadata that you can add and update. ImagXpress' ImageXTagCollection exposes these attributes and includes methods to retrieve, add, remove, and copy embedded tag data. The object model resembles many you've already used in .NET, so it's easy to feel comfortable with this environment.

The suite includes an impressive set of image enhancement and processing features that you often find in shrink-wrapped graphic design packages. For example, the Processor object includes RemoveRedeye() and AutoRemoveRedeye() methods to remove "devil eyes" caused by flash photography. AutoRemoveRedeye() doesn't even need you to point to the region. It analyzes the entire image, locates the eyes, and fixes the red part. I tried the feature on a photo of myself taken last Christmas. You use it by loading the image into the ImageXView control, creating a Processor object, and then calling the method with a couple of parameters. The result was bang on—it turned my eyes from red to their natural brown with one click.

Some of the processing capabilities clean up distorted or damaged images. For example, faxed documents tend to become crooked when transmitted. The DocumentDeskew() method detects and removes the distortion. If you scanned a rare book, but couldn't hold the pages flat enough, try applying the DocumentShear() method to the bent portion of text.

A project to test the removal of specks from a photograph took only five lines of code (not counting what Visual Studio generates). In an instant, the application cleaned much of the noise from the sample image. That said, some photos might require multiple calls to the Despeckle() method to do the job. There's no way to tell without looking at it. As much as we love automation, it takes human intervention at some point to determine how much tinkering produces the best restoration.

ImagXpress ships with sample code for all of the key functions. Some samples haven't been ported to all of the platforms and languages. This means .NET developers must look through the ActiveX-COM folder (especially the VB6 category) to see several implementations.

The ImagXpress object model is a developer's (and technical writer's) dream because most of the properties and methods apply to all supported image types (TIFF, BMP, GIF, and so on). The designers handle specific characteristics of a given image format (such as metadata, compression, or passwords) in the LoadOptions and SaveOptions classes. Given such a gentle learning curve, the task-oriented "How To" documentation and MSDN-style reference are quite sufficient for most developers.

When software is this easy to use, so versatile, and performs this well, you've got to expect a downside somewhere. The top-of-the-line ImagXpress Photo costs $2499 for a single development license. ImagXpress also includes runtime-royalty fees of $129 per client (true, it drops to $50 each for fifty licenses), and some specific functionality you require might necessitate a $699 to $1999 add-on. It costs $995 to use ImagXpress Photo as part of a commercial process such as on a Web server, and you might be subject to an annual subscription fee. This pricing structure makes for a tougher "build or buy" decision for individual developers, but presents less of a problem for the many corporations that rely on high-end ultrasound, cardiology, and electronic health records applications.


ImagXpress 8
Pegasus Imaging
Web:
www.pegasustools.com
Phone: 800-875-7009
Price: $2499 per developer for ImagXpress Photo, plus runtime licenses
Quick Facts: Advanced image toolkit for creating, manipulating, annotating, and printing documents, forms, and photos.
Pros: Effective document and photograph clean-up; easy conversion of image formats; consistent object model; easy to learn; good samples, support, and documentation.
Cons: Development kit is expensive; significant runtime royalties for each client; some samples not ported to .NET.

About the Author

Ken Cox is a Canadian .NET programming writer and the author of "ASP.NET 3.5 for Dummies" (Wiley).

comments powered by Disqus

Featured

  • Full Stack Hands-On Development with .NET

    In the fast-paced realm of modern software development, proficiency across a full stack of technologies is not just beneficial, it's essential. Microsoft has an entire stack of open source development components in its .NET platform (formerly known as .NET Core) that can be used to build an end-to-end set of applications.

  • .NET-Centric Uno Platform Debuts 'Single Project' for 9 Targets

    "We've reduced the complexity of project files and eliminated the need for explicit NuGet package references, separate project libraries, or 'shared' projects."

  • Creating Reactive Applications in .NET

    In modern applications, data is being retrieved in asynchronous, real-time streams, as traditional pull requests where the clients asks for data from the server are becoming a thing of the past.

  • AI for GitHub Collaboration? Maybe Not So Much

    No doubt GitHub Copilot has been a boon for developers, but AI might not be the best tool for collaboration, according to developers weighing in on a recent social media post from the GitHub team.

  • Visual Studio 2022 Getting VS Code 'Command Palette' Equivalent

    As any Visual Studio Code user knows, the editor's command palette is a powerful tool for getting things done quickly, without having to navigate through menus and dialogs. Now, we learn how an equivalent is coming for Microsoft's flagship Visual Studio IDE, invoked by the same familiar Ctrl+Shift+P keyboard shortcut.

Subscribe on YouTube