This page provides you the information about development history of VintaSoft Imaging .NET SDK.
The information about the SDK API history can be obtained from documentation.
Added support for .NET 8 in Windows, Linux and macOS.
.NET development:
Image processing:
QuadrilateralWarpCommand class: Added the ability to apply an inverse transformation to an image.
Web development:
Web document viewer:
Now WebDocumentViewerJS class can open files hosted on an HTTP server (URL) without uploading the file data onto the application's web server.
Added removePage, removePages, swapPages functions into WebDocumentViewerJS class.
Added the ability to save changes (reorder pages, annotations, form fields) into WebDocumentViewerJS class (saveChanges function).
Added with ability to export images with annotations to PDF or TIFF file.
Created new UI-elements for Web controls: WebUiMultiSelectElementJS, WebImageViewerContextMenuJS.
Created new UI-panels for WebDocumentViewerJS control: WebUiPropertyGridPanelJS, WebExportFileSettingsPanelJS, WebUiImageViewerSettingsPanelJS, WebUiAnnotationCommentSettingsPanelJS, WebUiAnnotationCommentListPanelJS, WebUiPdfRedactionMarkSettingsPanelJS, WebUiPdfRedactionMarkListPanelJS, WebUiPdfImageResourcePanelJS.
Created new UI-dialogs for WebDocumentViewerJS control: WebUiPropertyGridDialogJS, WebExportFileSettingsDialogJS, WebImageViewerSettingsDialogJS, WebUiAnnotationCommentSettingsDialogJS, WebUiPdfRedactionMarkSettingsDialogJS, WebUiPdfImageResourceDialogJS.
Web thumbnail viewer:
Added the ability to rearrange thumbnails using the drag-and-drop operation.
Added the ability to navigate thumbnails using keyboard.
Added the ability to select thumbnails using keyboard.
Added the ability to delete thumbnails using keyboard.
Demo applications:
The code of the web demo applications has been refactored to make it more simple.
Added many minor improvements.
Fixed many minor bugs.
See the changes history for plug-ins related with this version of VintaSoft Imaging .NET SDK following a link below:
The majority of new functionality added to Office plug-in and described on that plug-in history page.
.NET development:
Created the document converter - Vintasoft.Imaging.DocumentConverter class, which provides optimal multi-threading algorithm for easy conversion of images to all image and document formats supported by the SDK.
Added the ability to load images into image collection dynamically. That allowed to improve the image viewer when it displays document with large number of pages. If this functionality is enabled, the image viewer starts the document preview almost immediately, because the image collection does not load information about all pages at once.
Image codecs:
Improved the algorithm of TIFF decoder and encoder.
Improved the algorithm of PCX decoder.
Demo applications:
Added many improvements and optimizations into the code of Vintasoft Image Converter Demo.
Added cross-platform support for Windows, Linux and macOS in .NET 6, .NET 5 and .NET Core 3.1.
The SDK was successfully tested in Windows 10, Ubuntu Desktop 20.04.3, macOS 12 "Monterey".
Drawing of 2D graphics:
All algorithms of SDK for work with 2D graphics were completely revised.
Now the SDK draws 2D graphics using drawing engine (Vintasoft.Imaging.Drawing.DrawingEngine class) and does not use directly System.Drawing.Common library anymore.
Created the drawing engines for Windows, Linux и macOS:
Created the cross-platform drawing engine for Windows, Linux and macOS, which is based on SkiaSharp library. The drawing engine is stored in Vintasoft.Imaging.Drawing.Skia.dll assembly.
Created the drawing engine for Windows, which is based on System.Drawing.Common library. The drawing engine is stored in Vintasoft.Imaging.Gdi.dll assembly.
Each drawing engine is stored in separate assembly.
The SDK allows to select necessary drawing engine and load the drawing engine dynamically.
The SDK by default uses drawing engine, which is based on System.Drawing.Common library, if SDK is used under Windows.
The SDK by default uses drawing engine, which is based on SkiaSharp library, if SDK is used under Linux or macOS.
Added lots of new functionality into drawing engine:
Added the ability to search and create fonts (Vintasoft.Imaging.Drawing.DrawingFactory.CreateFont and Vintasoft.Imaging.Drawing.DrawingFactory.CreateSystemFont methods).
Added the ability to draw formatted text (Vintasoft.Imaging.Drawing.DrawingEngine.DrawText method).
Added the ability to blend colors in graphic paths (Vintasoft.Imaging.Drawing.DrawingEngine.BlendPath method).
Added the ability to draw text along the graphic path (Vintasoft.Imaging.Drawing.DrawingEngine.DrawString method).
Added new modes for text rendering (Vintasoft.Imaging.Drawing.TextRenderingMethod enumeration).
Added new modes for color composition (Vintasoft.Imaging.Drawing.DrawingEngine.CompositingMode enumeration).
Added the ability to render lines with caps.
Added the ability to use hatch brush.
Created the following .NET assemblies:
Vintasoft.Imaging.Drawing.Skia.dll
Vintasoft.Imaging.Gdi.dll
Vintasoft.Imaging.WebpCodec.dll (only for .NET Core 3.1 and higher)
Image codecs:
Now the raster image codecs (BMP, GIF, ICO, JPEG, JPEG-LS, PCX, PNG, RAW, TIFF, TGA, PBM, WEBP) do not require a drawing engine for decoding and encoding of images.
Created the codec (decoder and encoder) for WEBP images (.NET Core 3.1 or higher is necessary).
Created the codec (decoder and encoder) for TGA images.
Created the codec (decoder and encoder) for PBM images.
Created the encoder for DOCX documents. The encoder allows to convert DOC document to DOCX document.
Now the PNG codec supports Adam7 interlacing mode.
Increased the performance of algorithm that generates thumbnail for PNG image encoded in Adam7 interlacing mode.
Fixed the bug in algorithm that parses color palette of TIFF image.
View images in WinForms:
Added the ability to use the progressive loading of PNG image, which is encoded using "Adam7 interlacing", in WinForms image viewer.
View images in WPF:
Added the ability to use the progressive loading of PNG image, which is encoded using "Adam7 interlacing", in WPF image viewer.
Image processing:
Added new image processing command - CopyColorChannelCommand, which allows to copy the color channels of image.
Work with fonts:
Added the ability to specify the default font controller (the FontProgramsControllerBase.Default property).
Added the ability to serialize and deserialize the font controller.
Demo applications:
Added the ability to open and view text files in DocumentViewerDemo.
Added the ability to work with Webp, TGA and PBM images in ImagingDemo.
.NET console demos do not use System.Drawing.Common library anymore.
Fixed many minor bugs.
Web development:
Added the ability to display PDF, DOCX and XLSX documents in vector form in web image viewer.
Created a set of "standard" JavaScript dialogs for Bootstrap (print dialog, thumbnail viewer settings dialog, document password dialog, ...). The dialogs are stored in Imaging.DocumentViewer.Dialogs.Bootstrap.js file.
Improved the validation of input parameters in actions of web services.
Demo applications:
Created demo applications for ASP.NET Core (ASP.NET Core Web API + JavaScript + Bootstrap).
Simplified code in demo applications for ASP.NET Core + Angular (ASP.NET Core Web API + Angular + Bootstrap).
Added the ability to convert DOC document to DOCX document in ASP.NET File Converter Demo.
Added the support for Webp, TGA and PBM image file formats in ASP.NET File Converter Demo.
Fixed many minor bugs.
See the changes history for plug-ins related with this version of VintaSoft Imaging .NET SDK following a link below:
Added the ability to render WMF images in vector form.
Web development:
Supported platforms:
JavaScript engine does not depend on jQuery library anymore and it is now fully written in JavaScript ES5.
JavaScript engine now supports only HTML5 web browsers. Discontinued the support for old browsers. Discontinued the support of Vintasoft.Imaging.Svg.js file.
JavaScript dialogs are moved from Vintasoft.Imaging.DocumentViewer.js file to Vintasoft.Imaging.DocumentViewer.Dialogs.Simple.js file.
jQuery dialogs are moved from Vintasoft.Imaging.DocumentViewer.js file to Vintasoft.Imaging.DocumentViewer.Dialogs.jQueryUI.js file.
Added minor changes into JavaScript API. Detailed information about API changes is available here.
Fixed non-critical bugs in JavaScript engine.
Demo applications:
All Angular demo applications now use Angular dialogs only. Previously some Angular demo applications used jQuery dialogs from Vintasoft.Imaging.DocumentViewer.js file.
Improved the code of ASP.NET MVC demo applications.
Improved the code of ASP.NET WebForms demo applications.
See the changes history for plug-ins related with this version of VintaSoft Imaging .NET SDK following a link below:
Improved the algorithm that extracts thumbnails of TIFF image from EXIF metadata.
Demo applications:
Added new functionality to ImagingDemo/WpfImagingDemo:
Added the ability to binarize image using color gradient.
Added the ability to replace color in image using color gradient.
Web development:
Supported platforms:
Added the support for TypeScript.
Added the support for Angular.
Discontinued the support of ASP.NET MVC4, which is now a legacy technology.
Discontinued the support of WCF, which is now a legacy technology.
Added many minor improvements in JavaScript engine.
Fixed not critical bugs in JavaScript engine.
Created tutorials, which describe how to view images and documents in ASP.NET Core with Angular, ASP.NET Core with React, ASP.NET Core with React and Redux, ASP.NET Core, ASP.NET MVC5, ASP.NET WebForms.
Demo applications:
Created demo applications for Angular + ASP.NET Core:
AspNetCoreAngularAnnotationDemo - demonstrates how to view and annotate images and documents in Angular + ASP.NET Core.
AspNetCoreAngularBarcodeAdvancedDemo - demonstrates how to recognize 1D/2D barcodes in images and how to generate barcode images in Angular + ASP.NET Core.
AspNetCoreAngularCameraDemo - demonstrates how to capture images from DirectX camera in Angular + ASP.NET Core. The demo application also allows to view, process, annotate captured images, recognize barcodes from captured images, save captured images.
AspNetCoreAngularImagingDemo - demonstrates how to view and process images and documents in Angular + ASP.NET Core.
AspNetCoreAngularPdfReaderDemo - demonstrates how to view PDF documents with ability to navigate bookmarks, view page thumbnails, search text, extract image-resources in Angular + ASP.NET Core.
AspNetCoreAngularTwainScanningAdvancedDemo - demonstrates how to acquire images from TWAIN scanner in Angular + ASP.NET Core. The demo application also allows to view, process, annotate scanned images, recognize barcodes in scanned images, save scanned images.
See the changes history for plug-ins related with this version of VintaSoft Imaging .NET SDK following a link below:
Added support (without UI controls) for .NET Core 3 for Windows. Created the following .NET Core assemblies:
Vintasoft.Imaging.dll
Vintasoft.Imaging.RawCodec.dll
Discontinued support of .NET Framework 2.0. Now SDK supports .NET Framework 4+ and 3.5.
"Edition for Windows" now substitutes former "Standard edition" and "Standard+WPF edition".
View images in WinForms:
Created new visual tool - DocumentNavigationTool, which allows to navigate pages of PDF and DOCX documents in image viewer.
The PdfTextSelectionTool visual tool is renamed to TextSelectionTool and now the tool allows to select text in PDF and DOCX documents in image viewer.
View images in WPF:
Created new visual tool - WpfDocumentNavigationTool, which allows to navigate pages of PDF and DOCX documents in image viewer.
The WpfPdfTextSelectionTool visual tool is renamed to WpfTextSelectionTool and now the tool allows to select text in PDF and DOCX documents in image viewer.
Image processing:
Added new image processing command - OverlayBinaryCommand, which allows to overlay one black-white image over another using one of the binary operation.
Demo applications:
Created new WinForms demo application - DocumentViewerDemo, and WPF demo application - WpfDocumentViewerDemo, which allow to:
extract, select and search text in documents (PDF, DOCX)
annotate documents
convert DOCX documents to a PDF or PDF/A documents
print documents
Created console demo applications for .NET Core and .NET Framework:
AnnotationEditorConsoleDemo - demonstrates how to edit image annotations in .NET.
AnnotationRendererConsoleDemo - demonstrates how to render images with annotations in .NET.
DicomMprRendererConsoleDemo - demonstrates how to render MPR slices of DICOM images in .NET.
DicomRendererConsoleDemo - demonstrates how to render DICOM images in .NET.
ImageConverterConsoleDemo - demonstrates how to convert images and documents in .NET.
ImageMetadataConsoleDemo - demonstrates how to work with image metadata in .NET.
ImageProcessingConsoleDemo - demonstrates how to process images in .NET.
ImageRendererConsoleDemo - demonstrates how to render images in .NET.
OcrConsoleDemo - demonstrates how to recognize text from image or image-only PDF documents in .NET.
PdfAnnotationsConsoleDemo - demonstrates how to annotate PDF documents in .NET.
PdfAProcessorConsoleDemo - demonstrates how to convert a PDF document to PDF/A format and verify PDF/A documents in .NET.
PdfCompressorConsoleDemo - demonstrates how to compress PDF documents in .NET.
PdfContentEditorConsoleDemo - demonstrates how to edit content of PDF document in .NET.
PdfEditorConsoleDemo - demonstrates how to crypt/decrypt, embed/optimize fonts, convert to image-only, sign a PDF document in .NET.
DocumentTextExtractionConsoleDemo - demonstrates how to extract text from PDF or DOCX document in .NET.
Web development:
View images in web application:
The platform-independent .NET Core web services have been created for rendering images and thumbnails.
The platform-independent web services allow to quickly create web services for any .NET Core compatible web platform, e.g. for ASP.NET Core MVC, ServiceStack.
The web services are located in Vintasoft.Imaging.Web.Services.dll assembly.
Created web services for rendering images and thumbnails in ASP.NET Core MVC.
The web services are located in Vintasoft.Imaging.AspNetCore.ApiControllers.dll assembly.
Created new visual tool - WebDocumentNavigationToolJS, which allows to navigate pages of PDF and DOCX documents in image viewer.
WebPdfTextSelectionToolJS visual tool is renamed to WebTextSelectionToolJS and now the tool allows to select text of PDF and DOCX documents in image viewer.
Created the SVG icons for the web document viewer.
Process images in web application:
Platform-independent .NET Core web service has been created for image processing.
The platform-independent web service allows to quickly create web services for any .NET Core compatible web platform,
e.g. for ASP.NET Core MVC, ServiceStack. The web service is located in Vintasoft.Imaging.Web.Services.dll assembly.
Created a web service for image processing in ASP.NET Core MVC.
The web service is located in Vintasoft.Imaging.AspNetCore.ApiControllers.dll assembly.
Demo applications
Created demo applications for ASP.NET Core MVC:
AspNetCoreAnnotationDemo - demonstrates how to view and annotate images and documents in ASP.NET Core MVC.
AspNetCoreBarcodeAdvancedDemo - demonstrates how to recognize 1D/2D barcodes in images and how to generate barcode images in ASP.NET Core MVC.
AspNetCoreCameraDemo - demonstrates how to capture images from camera, view/process/annotate captured images, recognize barcodes from captured images, save captured images in ASP.NET Core MVC.
AspNetCoreFileConverterDemo - demonstrates how to convert images and documents in ASP.NET Core MVC.
AspNetCoreImagingDemo - demonstrates how to view and process images and documents in ASP.NET Core MVC.
AspNetCoreOcrDemo - demonstrates how to recognize text from image or image-only PDF documents in ASP.NET Core MVC.
AspNetCorePdfReaderDemo - demonstrates how to view PDF documents with ability to navigate bookmarks, view page thumbnails, search text, extract image-resources in ASP.NET Core MVC.
See the changes history for plug-ins related with this version of VintaSoft Imaging .NET SDK following a link below:
Added the ability to navigate and zoom images using keyboard in WinForms and WPF image viewer. 18 common shortcut keys are supported.
Improved performance of WPF image viewers and visual tools for WPF image viewers.
Added new methods - ImageViewer.ScrollToRect and WpfImageViewer.ScrollToRect, which allow to scroll viewer to the specified rectangle.
Image processing:
Added new image processing command - DrawImageCommand, which allows to draw an image on another image.
Added new properties to all image processing commands - ExpandSupportedPixelFormats and RestoreSourcePixelFormat, which allow to determine how a command should process an image if the command does not support pixel format of source image.
Added new class - ImageProcessingCommandFactory, which provides the ability to create image processing command depending on the source image codec. An image can be processed effectively if a command knows the codec functionality, for example, the InvertCommand will invert colors of raster image, if the image is loaded from TIFF file, and it will invert a vector content of PDF page, if the image is a rendered PDF page.
Added new properties - DeskewCommand.Binarization and DeskewDocumentImageCommand.Binarization, which allow to specify a binarization command to be applied to a non black-white image while the image is deskewing.
General features:
Added new class - VintasoftDrawingConverter, which allows to convert System.Drawing types to the Vintasoft types and vice versa.
Added new class - VintasoftWpfConverter, which allows to convert WPF types to the Vintasoft types and vice versa.
Added explicit/implicit operators to Vintasoft types for converting them into System.Drawing types.
Demo applications:
Many changes made to simplify and improve the code of demo applications.
Now each demo application is a separate project, ImagingDemosCommonCode and PdfDemosCommonCode projects are removed.
Many improvements added to DicomViewerDemo and WpfDicomViewerDemo applications.
Web development:
Created Web Document Viewer for fast and easy development of web application UI.
Web Document Viewer features:
JavaScript UI control that works in all major HTML5 and SVG browsers
User interface is compatible with personal computers, tablets and smartphones
Displays different image and document types: PDF, TIFF, PNG, JPEG, GIF, BMP, PCX, RAW, JBIG2, JPEG2000, DICOM, XPS, etc
Supports multipage view mode to display images and PDF documents
Supports image acquiring from scanner and image capturing from camera
Supports thumbnail viewing
Supports printing of images and PDF documents
Supports processing of photo images and document images
Supports annotating of images and PDF documents
Supports text selection in PDF document
Supports text search in PDF document with ability to highlight searched text
User interface can be customized
User interface is translated to English and Russian languages
User interface can be localized to any language
Can be used on web page or in web application.
Added JavaScript class for localization of web page and web UI.
Created new ASP.NET MVC and ASP.NET WebForms demo applications with mobile friendly design:
ASP.NET Imaging Demo demonstrates how to view and process images and PDF documents.
ASP.NET Annotation Demo demonstrates how to view and annotate images and PDF documents.
ASP.NET PDF Reader Demo demonstrates how to view PDF document with ability to navigate bookmarks, view page thumbnails, search text, extract image-resources.
ASP.NET Camera Demo demonstrates how to capture images from camera, view/process/annotate captured images, recognize barcodes in captured images, save captured images.
ASP.NET TWAIN Advanced Demo demonstrates how to acquire images from TWAIN scanner, view/process/annotate scanned images, recognize barcodes in scanned images, save scanned images.
ASP.NET Barcode Advanced Demo demonstrates how to recognize 1D/2D barcodes in image and how to generate barcode image.
ASP.NET OCR Demo demonstrates how to recognize text in image or image-only PDF document.
ASP.NET File Converter Demo application demonstrates how to convert images and PDF documents to other formats.
See the changes history for plug-ins related with this version of VintaSoft Imaging .NET SDK following a link below:
Added the ability to view images in multipage view mode in HTML5 and SVG image viewers:
Supported the following predefined image display modes: single column, single row, single continuous column, single continuous row, two columns, two rows, two continuous columns, two continuous rows, three columns, three rows, three continuous columns, three continuous rows.
Supported the ability to specify a user-defined image display mode.
The ability to work in multipage view mode is added to the following visual tools:
PanTool
ZoomTool
ZoomSelectionTool
MagnifierTool
RectangularSelectionTool
Improved the work with touch screen.
WinForms and WPF controls for previewing and printing images:
The visual tool PanTool now allows to pan and scroll images in image viewer, which works in multipage view mode.
Image codecs:
Improved the algorithm, which encodes TIFF images with default encoding settings.
Added the ability to create the encoder settings, which are similar to the encoder settings, which was used for encoding the analyzing image.
Added the ability to determine the quality (Quality parameter) of an existing JPEG image.
Fixed the bug in algorithm that serializes NumberOfAnimationCycles property in GIF encoder.
Image processing:
Created new commands for processing image in frequency domain: SelectiveFilteringCommand, FrequencySpectumVisualizerCommand.
Increased the performance of ChangePixelFormatToGray8Command.
Increased the performance of ResizeCommand for 16-bpp grayscale images.
General features:
Created structures for objects in 3D space: VintasoftPoint3D, VintasoftVector3D.
Created classes for Affine transformations in 3D space: AffineMatrix3D, VintasoftPoint3DAffineTransform.
Demo applications:
ASP.NET WebForms and ASP.NET MVC demo applications provide now the ability to view images and PDF documents in multipage view mode.
Created new ASP.NET demo application - OcrDemo, which allows to recognize text in images and save results to a text file or PDF document.
Created new ASP.NET demo application - FileConverterDemo, which allows to convert image files or PDF documents.
See the changes history for plug-ins related with this version of VintaSoft Imaging .NET SDK following a link below:
Added the multipage view mode to display images in image viewer:
Supported the following predefined image display modes: single column, single row, single continuous column, single continuous row, two columns, two rows, two continuous columns, two continuous rows, three columns, three rows, three continuous columns, three continuous rows.
Supported the ability to specify a user-defined image display mode.
The ability to work in multipage view mode is added for the following visual tools:
ZoomTool
ZoomSelectionTool
MagnifierTool
ImageMapTool
RectangularSelectionTool
OverlayImageTool
MultiRectangularSelectionTool
CustomSelectionTool
Visual tool Magnifier:
Added the ability to process image that is displayed by Magnifier.
Added the ability to use the elliptical outline for the Magnifier.
Added the helper-class that allows to store and manage settings of interaction areas of visual tool (InteractionAreaAppearanceManager class).
View images in WPF:
Added the multipage view mode to display images in image viewer:
Supported the following predefined image view modes: single column, single row, single continuous column, single continuous row, two columns, two rows, two continuous columns, two continuous rows, three columns, three rows, three continuous columns, three continuous rows.
Supported the ability to specify a user-defined custom image view mode.
The ability to work in multipage view mode is added for the following visual tools:
ZoomTool
ZoomSelectionTool
MagnifierTool
ImageMapTool
RectangularSelectionTool
OverlayImageTool
MultiRectangularSelectionTool
CustomSelectionTool
Now visual tools Zoom and Pan can work with touch screen.
Visual tool Magnifier:
Added the ability to process image that is displayed by Magnifier.
Added the ability to use the elliptical outline for the Magnifier.
Added the helper-class that allows to store and manage settings of interaction areas of visual tool (WpfInteractionAreaAppearanceManager class).
Fixed some non-critical bugs in visual tool WpfCompositeVisualTool.
Web image viewers:
Increased the performance of HTML5 and SVG image viewers.
Optimized the displaying of animation in HTML5 and SVG image viewers.
Image processing:
Created the commands for image processing in the frequency domain using fast Fourier transform:
Created the base class, which allows to create a custom command for filtering Gray8, Bgr24 or Bgra32 image in the frequency domain (FastFourierTransformCommand class).
Created the commands allowing to apply highpass filtering, in the frequency domain, to an image (IdealHighpassCommand, ButterworthHighpassCommand, GaussianHighpassCommand classes).
Created the commands allowing to apply lowpass filtering, in the frequency domain, to an image (IdealLowpassCommand, ButterworthLowpassCommand, GaussianLowpassCommand classes).
Created the command allowing to increase image sharpness using the highpass filtering in the frequency domain (ImageSharpeningCommand class).
Created the command allowing to increase image smoothing using the lowpass filtering in the frequency domain (ImageSmoothingCommand class).
Created the command allowing to get a per-pixel comparison of two images (ImageComparisonCommand class).
Created the command allowing to scale image using a scale ratio with ability to keep image proportions (ImageScalingCommand class).
The OverlayWithBlendingCommand class now allows to overlay image using the alpha constant.
Fixed some bugs in methods allowing to clone the processing commands.
Data storage:
Created the data storages: CompositeDataStorage, StreamDataStorageOnDisk, CloneableObjectStorageInMemory, CompressedImageStorageInMemory, CompressedImageStorageOnDisk.
Improved the architecture of data storages.
Added the ability to cache images in data storage.
Undo/Redo: history of objects changes (images, annotations):
Added the ability to store the history of image changes on disk (in storage).
Improved the working algorithm of UndoManager class.
Web services for image processing:
The architecture of web services has been refactored.
Added the ability to use the data storages in cache managers.
Now is possible to download image file from server as binary stream.
Codecs:
Fixed some bugs in GIF codec.
Fixed some bugs in TIFF codec.
Demo applications:
Demo applications for ASP.NET WebForms and ASP.NET MVC:
Added the ability to localize the interface of demo applications (l20n library is used). The interface of demo applications has been localized to English and Russian languages.
Added the ability to download image file from server as binary stream.
Added the ability to use color management while displaying images and PDF documents.
The code of demo applications has been refactored.
Demo applications for ASP.NET MVC:
Added the ability to display the video stream and capture images from HTML5 web camera.
Created the following mini demo applications for WinForms and WPF:
"Document Viewer" mini demo application.
"Load, View and Save Images" mini demo application.
"Annotate Images" mini demo application.
"Thumbnail Viewer Customization" mini demo application.
"Thumbnail Viewer Drag & Drop" mini demo application.
"Image Processing" mini demo application.
ImageProcessingDemo application has been extended with ability to view the difference between source image and processed image.
ImagingDemo applications for WinForms and WPF have been added with dialog for editing Magnifier settings of image viewer.
PrintDemo application: improved the displaying of image title in Mosaic mode.
Some minor improvements in code of demo applications.
Many minor fixes and improvements.
See the changes history for plug-ins related with this version of VintaSoft Imaging .NET SDK following a link below:
The platform-independent web services have been created for rendering images and thumbnails.
The platform-independent web services allow quickly create web services for any .NET compatible web platform, e.g. for ASP.NET MVC, ASP.NET WebForms, ServiceStack.
The web services are located in Vintasoft.Imaging.Web.Services.dll assembly.
Created web services for rendering images and thumbnails in ASP.NET MVC 5. The web services are located in Vintasoft.Imaging.Web.Api2Controllers.dll assembly.
HTML5 and SVG controls for rendering images and thumbnails are now fully compatible with jQuery 2 and 3.
Improved the magnifier in web image viewers.
Process the images in web application:
The platform-independent web service have been created for image processing.
The platform-independent web service allows quickly create web services for any .NET compatible web platform, e.g. for ASP.NET MVC, ASP.NET WebForms, ServiceStack.
The web service is located in Vintasoft.Imaging.Web.Services.dll assembly.
Created web services for image processing in ASP.NET MVC 5.
The web service is located in Vintasoft.Imaging.Web.Api2Controllers.dll assembly.
JavaScript classes responsible for image processing are now fully compatible with jQuery 2 and 3.
Print images in web application:
JavaScript classes responsible for image printing are now fully compatible with jQuery 2 and 3.
Demo applications:
Created new web demo application, which demonstrates how to view, process, annotate and print images in ASP.NET MVC 5.
Some minor fixes in demo applications.
Some major and minor fixes and improvements.
See the changes history for plug-ins related with this version of VintaSoft Imaging .NET SDK following a link below:
Added the ability to use multithreading to render thumbnails in WinForms thumbnail viewer.
Loading of thumbnails in WinForms thumbnail viewer has been accelerated.
A set of standard static graphical objects, which can be used in GraphicObjectTool visual tool, has been extended.
Now a rectangle (RectangularGraphicObject), an ellipse (EllipticalGraphicObject), a text (TextGraphicObject),
a static image (ImageGraphicObject), a graphical path (PathGraphicObject) and a group of graphical objects (GraphicObjectGroup)
can be easily added above the image in WinForms image viewer.
A MultiRectangularSelectionTool visual tool, which allows to select several rectangles on the image in WinForms image viewer,
has been created.
Visual tool can save information about the selection for current image only or for all images.
View images in WPF:
Loading of thumbnails in WPF thumbnail viewer has been accelerated.
A set of standard static graphical objects, which can be used in WpfGraphicObjectTool visual tool, has been extended.
Now a rectangle (WpfRectangularGraphicObject), an ellipse (WpfEllipticalGraphicObject), a text (WpfTextGraphicObject),
a static image (WpfImageGraphicObject), a graphical path (WpfPathGraphicObject) and a group of graphical objects (WpfGraphicObjectGroup)
can be easily added above the image in WinForms image viewer.
A WpfMultiRectangularSelectionTool visual tool, which allows to select several rectangles on the image in WPF image viewer,
has been created.
Visual tool can save information about the selection for current image only or for all images.
View images in ASP.NET WebForms:
The image rendering algorithm in ASP.NET WebForms image viewer has been improved.
View images in ASP.NET MVC:
Created ASP.NET MVC4 and HTML5 web controls for viewing, annotating and editing images and PDF documents
in ASP.NET MVC applications.
Image processing:
New image processing commands have been created:
ExtractColorChannelCommand - extracts from image the specified color channel or all color channels.
SetColorChannelCommand - sets one or more image color channels.
ChangeChannelsFormatCommand - changes the format of image color channels.
Added the ability of low-level processing of images with N-channels and M-bits per channel (M<=32).
Image processing in ASP.NET WebForms and ASP.NET MVC:
Added the ability to edit images in ASP.NET applications.
At this time are supported the following image processing commands: clear image, crop image, flip image, halftone image,
invert image, resize image canvas, resize image, rotate image.
The list of available image processing commands can be easily extended, because the library architecture is open.
The processed image can be saved to the source file or new file.
Codecs:
The WPF decoder of XPS files has been created (decoder is located in Vintasoft.Imaging.Wpf.dll assembly).
Added the ability to save CMYK-image as JPEG file.
Added an advanced settings to JPEG encoder.
See the changes history for plug-ins related with this version of VintaSoft Imaging .NET SDK following a link below:
Added the ability to pan, magnify, zoom image when viewed in ASP.NET application.
Added the ability to select and zoom selected region on image when viewed in ASP.NET application.
Codecs:
Implemented the decoder of DICOM images in new VintaSoft DICOM .NET Plug-in.
Implemented the decoder of JPEG-LS images.
Implemented the decoder and encoder of PCX images.
Improved the codec of JPEG images:
Implemented the mode that optimizes the size of encoded JPEG images (choosing of optimal Huffman table).
Added the ability to decode JPEG images, encoded in progressive mode.
Added the ability to smooth images while decoding those of them, which use Subsampling mode. This increases the visual quality of JPEG images with text data.
Added the ability to decode 8- and 12-bit files encoded in SOF1 mode.
Added the support for working with metadata of JFIF segment.
Accelerated the decoding of grey images up to 30% on the average.
Accelerated the encoding of images up to 9% on the average.
Improved the visual quality of image encoded at high compression levels.
Improved the decoding quality of 8-bit grey images.
Improved the TIFF image codec:
Added the ability to decode grey images with the following color depths: 2, 3, 5, 6, 7, 9, ..., 32, 64.
Added the ability to decode palette images with the following color depths: 2, 3, 5, 6, 7, 9, ..., 16.
Added the ability to decode RGB images with the following color depths: 3, 6, ..., 21, 27, 30, ..., 45, 51, 54, ..., 96, 192.
Added the ability to decode CMYK images with the following color depths: 40 and 64.
Added the ability to decode YCbCr images with the following color depths: 24.
Some minor fixes.
Improved the PNG image codec:
PNG decoder was complemented with the ability to load large images progressively, that visually accelerates the process of image loading.
Accelerated the decoding of PNG images.
Improved the RAW image codec:
Accelerated the decoding of RAW images in which data was encoded using Bayer grid and Ahd interpolation algorithm.
Some minor fixes.
Work with image metadata:
Added the ability to extract clipping paths from Adobe segment of JPEG and TIFF files.
Image viewing in WinForms:
Image viewer was complemented with the ability to select an image area, which was defined via graphics path.
Image viewing in WPF:
Image viewer was complemented with the ability to select an image area, which was defined via graphics path.
Image processing:
Added the ability to parallelize the image processing to defined count of threads.
Added new image processing commands:
IsImageBlackWhiteCommand - determines whether the image is black-white.
IsImageGrayscaleCommand - determines whether the image is grey.
GetImageColorDepthCommand - determines the actual image color depth.
GetBorderRectCommand - determines the bounding rectangle of content location on the image.
Improvements in image processing commands:
GetColorCountCommand was complemented with the ability to specify the maximum amount of colors and the accuracy of color comparison.
ResizeCommand was complemented with the ability to define the interpolation algorithm.
GetBorderColorCommand and BorderRemovalCommand were added with new settings parameters.
Added the ability to perform the binarization of images using Halftone algorithm.
All image processing commands are implementing ICloneable interface from now.
Image capturing from camera:
Improved the algorithm of image capturing from camera for better compatibility with modern cameras.
See the changes history for plug-ins related with this version of VintaSoft Imaging .NET SDK following a link below:
Created the open architecture for image color management with the following features:
Image color management uses:
ICC profiles:
support for ICC profiles of version 2.0-4.3
support for ICC profiles of InputDevice, DisplayDevice, OutputDevice, ColorSpace classes
support for CIEXYZ, CIELAB, CMYK, RGB, Gray color spaces
support for RenderingIntent
support for Black Point Compensation.
Standard color transformations:
RGB ↔ PCSXYZ
Gray ↔ PCSXYZ
PCSLAB → PCSXYZ
CIEXYZ → PCSXYZ using Bradford chromatic adaptation.
User-defined color transformations.
Color management when decoding TIFF, JPEG or JPEG2000 image.
Color management when rendering a page of PDF document.
Color management when viewing and printing images.
Created ColorTransformCommand which allows to apply a color transformation to the image.
Created web controls for viewing images and PDF documents in ASP.NET applications.
Created the open architecture that allows to store history about changes (undo/redo) in any object. SDK has built-in set of classes for storing history about changes in images and annotations.
Created the open architecture for management of image codecs with abilities to:
Create custom image codec.
Manage the list of available codecs.
Created new image processing commands:
HasCertainColorCommand - determines whether the specified color is presented in the image.
FillRectangleCommand - fills rectangles on image with specified color.
ColorTransformCommand - applies the specified color transformation to the image.
Significantly increased the decoding performance of JPEG image regions.
Significantly increased the decoding performance of TIFF images with ZIP compression.
Assemblies were renamed and made changes in structure of namespaces. For more information click here.
See the changes history for plug-ins related with this version of VintaSoft Imaging .NET SDK following a link below:
Created new demo - Web Imaging Demo, which demonstrates how to view images in web application.
Demo applications were extended with new color management settings dialog which provides the ability to load input and output ICC profiles as well as manage additional features: RenderingIntent, Black Point Compensation.
Created new visual tool MultiRectangularSelectionTool which allows to create and edit the selection composed of rectangles. The tool illustrates the simplicity of implementation the complex interactive visual tool using the open architecture of interactive communication with the user.
Improved the Ocr Demo, added the ability to change segmentation regions by the use of MultiRectangularSelectionTool.
Created RAW image decoder with the following functionality:
Supported RAW file formats: DNG, NEF, CR2, CRW, NRW.
The ability to obtain thumbnail, image for preview or original image.
The ability to obtain original image with or without interpolation. Supported are bilinear, gradient and adaptive interpolations.
The ability to apply white balance color correction to the original image. Supported are automatic white balance, camera white balance and user-defined white balance.
The ability to get image metadata.
Added the decoding support for 2-bit BMP format in ICO files.
Image viewer:
Added the ability to disable the rendering settings management of image viewer.
See the changes history for plug-ins related with this version of VintaSoft Imaging .NET SDK following a link below:
Multi Webcam Demo created, which demonstrates the ability to display video from several cameras on one form.
Raw Image Viewer Demo created, which allows to preview all images from a RAW file (thumbnail, image for preview, original image). Original image can be obtained with or without interpolation and can be a subject for white balance color correction.
Raster Grid Editor Demo created, which demonstrates how to work with tiles of large TIFF images:
Visual indication of tiles.
Change of tiles.
Creation of large images.
Webcam Barcode Reader Demo and Wpf Webcam Barcode Reader Demo created, which allows to:
Obtain a list of cameras available in the system.
Preview "video".
Capture image from camera.
Barcode recognition in captured image.
Imaging Demo and Wpf Imaging Demo upgraded. Added the ability to read and write barcodes using VintaSoft Barcode .NET SDK for .NET and WPF, respectively:
Added the visual tool BarcodeReaderTool / WpfBarcodeReaderTool, which allows to read barcodes using ImageViewer directly.
Added the visual tool BarcodeWriterTool / WpfBarcodeWriterTool, which allows to write barcodes onto the image using ImageViewer.
Annotation Demo and Wpf Annotation Demo updated. Annotation Demo and Wpf Annotation Demo updated. Added the ability to change the parameters of visual appearance of points providing interaction with annotations (filling color, border color, radius, etc).
The SDK undergone significant changes for the purpose to:
Provide the ability to port the library into other platforms and environments further.
Separate graphical user interface controls for WinForms.
Create graphical user interface controls for WPF.
Maximize the working speed of the library.
Make the library more scalable and reliable.
Codecs:
Simplified and extended the abilities to work with image metadata:
Created the hierarchy of classes providing the simplified ability to view and edit tree of image metadata.
Added the ability to copy metadata while converting image from one format to another.
Extended the abilities to work with TIFF file metadata (added TiffImageFileDirectory Class).
Created codec for working with Icon and Cursor (.ico, .cur) images.
Optimized the architecture of ImageFile.
Optimized the architecture of encoders.
Added the ability to get extended information about progress of saving image(s).
Added the ability to save image to the source file by specifying only file name.
Image rendering:
Created the hierarchy of classes permitting the most flexible adjusting of image rendering settings.
Image Viewers:
Optimized WinForms controls for viewing images and thumbnails.
Created WPF controls for viewing images and thumbnails:
WpfImageViewer - WPF control intended for image viewing.
WpfThumbnailViewer - WPF control intended for thumbnail viewing.
WpfAnimatedImageViewer - WPF control intended for slide show viewing.
Visual tools:
UserInteractionVisualTool:
The visual tool architecture was significantly extended in part of interaction with user.
Added the ability to use simultaneously several interactive communication controllers for object transformation, for example, a rectangular object can be transformed as a rectangle and as set of points now.
All visual tools which imply the user interaction are derived from UserInteractionVisualTool Class from now.
Created the hierarchy of visual tools for WPF: WpfCropSelectionTool, WpfRectangularSelectionTool,
WpfZoomSelectionTool, WpfRectangularSelectionToolWithCopyPaste, WpfDragDropSelectionTool, WpfZoomTool,
WpfPanTool, WpfMagnifierTool, WpfOverlayImageTool, WpfImageProcessingToolWithRectangularSelection,
WpfHighlightTool, WpfCustomSelectionTool, WpfCompositeVisualTool.
Image printing:
Optimized ImagePrintDocument control that provides printing of images for WinForms.
Created WpfImagePrintManager Class that provides printing of images for WPF.
Image processing commands:
New image processing commands:
SmoothingCommand - smoothing image.
AddNoiseCommand - adding noise to the image.
CannyEdgeDetectorCommand - multi-stage detection of wide range of edges in image.
The speed of the following processing commands has been optimized: MinimumCommand, MaximumCommand, MorphologicalCommand, InvertCommand.
Some minor fixes.
Demo applications:
Imaging Demo updated:
Added the ability to view and edit image metadata.
Annotation Demo upgraded:
The demo application code has been completely revised.
Added the ability to restrict the building area of annotation to the image rectangle.
Added the ability to multi select annotations.
Added the ability to group several annotation.
Added the ability to undo changes in annotations.
Print Demo updated.
Icon Editor Demo created - full functional editor of Icon and Cursor images.
Created demo applications for WPF:
Wpf Imaging Demo - WPF analog of Imaging Demo.
Wpf Annotation Demo - WPF analog of Annotation Demo.
Wpf Print Demo - WPF analog of Print Demo.
Wpf Pdf Editor Demo - WPF analog of Pdf Editor Demo.
Colors.Desaturate command supports now 3 modes of color desaturation: by estimating pixel lightness, by estimating pixel luminosity, by average pixel color value.
Some minor fixes.
Demo applications:
Imaging demo updated:
Added new image processing commands.
Added the ability to use custom selection on image.
Added new visual tools.
Added the ability to preview results of image processing command work.
Image Processing demo updated:
Added new image processing commands.
Added the ability to use rectangular and custom selection to indicate the image region which should be processed.
Optical character recognition (OCR) functionality created and released in new VintaSoft OCR .NET Plug-in.
Created IVectorDecoder interface which allows to get an image with necessary rendering settings and scale from a vector decoder.
Added support for IVectorDecoder interface to the ImageViewer and ImageRenderer classes. Working speed with vector decoders of PDF document significantly increased.
Image processing commands:
Added the ability to get the execution results of command as ProcessingCommandResult class.
Created new CompositeCommand which allows to execute several image processing commands at once. Composite command stores information about execution results of previous commands for the current command and this sometimes allows to reduce overall time of work comparing to execution of each command separately.
OverlayCommand can process 24-bit images with transparency now. The command allows to specify a color which is counted as transparent.
Improved the conversion algorithm of images to 8-bit gray images.
Improved the conversion algorithm of images to 4-bit palette images.
Revised the hierarchy of commands used for changing the image format:
ChangePixelFormatCommand becomes more simple and has only one parameter now - a pixel format the image should be converted to.
Created new advanced commands for image format changing: ChangePixelFormatToBlackWhiteCommand, ChangePixelFormatToPaletteCommand, ChangePixelFormatToGrayCommand, ChangePixelFormatToBgrCommand.
Created new advanced commands for document cleanup: BorderClearCommand, BinarizeCommand, DocumentSegmentationCommand.
Improved available commands for document cleanup: BorderRemovalCommand, DespeckleCommand, DeskewCommand.
All document cleanup functions were relocated to separate assembly.
Some minor fixes.
Visual Tools:
Created a new visual tool - CompositeVisualTool, which allows to combine behavior and functionality of several visual tools into one.
Added the ability to simplify the creation of images with standard sizes (A4, A3, ...) or with sizes specified in millimeters or inches, using ImageSize class and PaperSizeKind enumeration.
Demo applications:
Created Image Processing demo which shows how to process one or several images by a group of processing commands.
Created Pdf Report Generator demo which shows how to generate PDF documents (report, invoice, etc) on the fly.
Created Ocr demo which, generally, shows how to recognize text from images and save the result into searchable PDF document.
Imaging demo improved by adding Undo/Redo capabilities for image processing.
Optimized code of Print demo and fixed some memory leaks.
Pdf Drawing demo improved by adding the ability to generate new graphical figures on PDF page.
Viewers now are doing most operations asynchronously.
Added the ability to link viewers with each other, for example, link together thumbnail, image and annotation viewers.
Created PaletteViewer control for viewing and editing image palette.
Created AnimatedImageViewer control intended for image slide show viewing.
Added the ability to handle e.Handled flag while calling the following events: CopyKeyPressed, CutKeyPressed, DeleteKeyPressed, InsertKeyPressed, SelectAllKeyPressed.
Added the ability to change resolution and palette without rewriting the whole file.
Added the ability to get a thumbnail without uploading of whole file into memory.
Image processing:
Created oil painting effect filter (OilPaintingCommand).
Added new commands: ClearImageCommand, GetAlphaChannelCommand, SetAlphaChannelCommand.
Improved ResizeCanvasCommand.
Optimized overlay algorithm: during overlaying of 8-bit images the transparency is taken into account now.
Demo applications:
Demo applications structure is revised. Highly repetitive independent program parts are concentrated in new DemosCommonCode assembly.
Annotation demo improved: added AnnotationsToolStrip control - independent panel with annotations.
Created Gif Animator Demo - fully functional animated GIF editor.
Thumbnail Viewer demo redesigned. The demo contains a realization of Folder Thumbnail Viewer showing synchronous work of Folder Viewer, Thumbnail Viewer and Image Viewer.
Direct pixel access allowed: get/set pixel color for any supported image format.
Added the ability to convert images from/to 16-bit RGB formats BGR555 and BGR565. Saving to BGR555 is supported to BMP file only.
Default threshold value is set to 384 for converting color images to black-and-white.
TIFF codec optimized:
Added progress indicators of image loading and saving.
Added the ability to copy pages with JPEG compression from one TIFF file to another.
Changed logic of TIFF codec work. If compression is set to CCITT4 for saving image that is not black-white it'll be converted to black-and-white automatically and saved. In previous version the priority was set to image (all color images were saved with LZW compression in mentioned case), in current to user.
Optimized the algorithm of work with TIFF images received from fax.
Optimized overall memory usage and increased overall performance.
Optimized the memory usage in PDF, JBIG2 codecs and JPEG encoder.
Image Viewer demo updated and renamed to Imaging Demo.
Print Demo updated and optimized for printing PDF files.
Added the ability to decode and encode black-and-white JBIG2 compressed images, both standalone and embedded into PDF, using new VintaSoft JBIG2 .NET Plug-in.
Added the ability to convert images to black-and-white JBIG2 compressed images and back using VintaSoft JBIG2 .NET Plug-in.
Thumbnail rendering speed increased.
Added the ability to customize the behavior of visual tools.
Added the ability to define advanced print settings (selection, current page, range of pages).
Vintasoft.Imaging.dll assembly is now available in two variations:
Specifics of assembly located in "\Bin\v2.0\" folder:
Assembly is compiled under .NET 2.0
Assembly can be used in x86 and WOW64 modes
Assembly cannot be used in x64 mode
GDI32 functions are used to preview images in Image Viewer
High preview speed available in Image Viewer.
Specifics of assembly located in "\Bin\v2.0\x64\" folder:
Assembly is compiled under .NET 2.0
Assembly can be used in x86, WOW64 and x64 modes
GDI32 functions aren't used to preview images in Image Viewer
Preview speed in Image Viewer is less than the one in assembly which uses GDI32.
Added the ability to modify metadata of TIFF image.
Added the ability to copy/paste a selected part of image to another image in the Image Viewer.
Added the ability to change color depth of the image (convert colors).
Added the ability to overlay images.
Added a new visual tool - Selection, which allows to select a part of image in the image viewer and copy the selection to Windows clipboard.
Added the ability to get histogram of the image.
Added the ability to control the image viewer from the code, namely, zoom an image, select a part of image, crop an image, drag and drop image.
Added the ability to define the action buttons for visual tools.
Added new event which is thrown when selection in the image viewer is changed.
Added new event which is thrown when hovered thumbnail in the thumbnail viewer is changed. This event can be used in case you want to add custom context menu to the thumbnail viewer.
Blank image detection algorithm improved.
TIFF files loading algorithm improved.
Fixed bug in loading of WMF/EMF files.
Some major and minor fixes.
WebStampImage demo created. This demo shows how to annotate images uploaded to web server.