На данной странице Вы можете получить информацию о общей истории развития VintaSoft Imaging .NET SDK.
Информация о изменениях в API SDK находится в документации.
Большинство новых функций добавлено в DICOM плагин и описано на страницах истории этого плагина.
.NET разработка
Кодек RAW-изображений:
Добавлена возможность декодирования изображений из .CR3-файлов (Canon), .ARW-файлов (Sony) и .RW2-файлов (Panasonic) с использованием библиотеки "libraw".
Улучшен алгоритм декодирования изображений из .NEF- и .NRW-файлов (Nikon).
Улучшен алгоритм декодирования изображений из .CR2- и .CRW-файлов (Canon).
Улучшен алгоритм декодирования изображений из .DNG-файлов.
См. по ссылкам историю изменений во встраиваемых модулях связанную с этой версией VintaSoft Imaging .NET SDK:
Добавлена поддержка .NET 8.0 в Windows, Linux и macOS.
.NET разработка
Обработка изображений:
В классе QuadrilateralWarpCommand появилась возможность применить обратную трансформацию к изображению.
Веб разработка
Веб просмотрщик документов:
Класс WebDocumentViewerJS теперь может открывать файлы размещенные на HTTP сервере (URL) без загрузки данных файла на веб сервер приложения.
В класс WebDocumentViewerJS добавлены функции removePage, removePages, swapPages.
В класс WebDocumentViewerJS добавлена возможность сохранить изменения (пересортировка страниц, аннотации, поля формы) в обрабатываемом документе (функция saveChanges).
В класс WebDocumentViewerJS добавлена возможность экспортировать коллекцию изображений с аннотациями в PDF или TIFF файл (функция exportFile).
Созданы новые UI-элементы для Веб контролов: WebUiMultiSelectElementJS, WebImageViewerContextMenuJS.
Созданы новые UI-панели для контрола WebDocumentViewerJS: WebUiPropertyGridPanelJS, WebExportFileSettingsPanelJS, WebUiImageViewerSettingsPanelJS, WebUiAnnotationCommentSettingsPanelJS, WebUiAnnotationCommentListPanelJS, WebUiPdfRedactionMarkSettingsPanelJS, WebUiPdfRedactionMarkListPanelJS, WebUiPdfImageResourcePanelJS.
Созданы новые UI-диалоги для контрола WebDocumentViewerJS: WebUiPropertyGridDialogJS, WebExportFileSettingsDialogJS, WebImageViewerSettingsDialogJS, WebUiAnnotationCommentSettingsDialogJS, WebUiPdfRedactionMarkSettingsDialogJS, WebUiPdfImageResourceDialogJS.
Веб просмотрщик миниатюр:
В класс WebThumbnailViewerJS добавлена возможность пересортировывать миниатюры с помощью операции drag-and-drop.
В класс WebThumbnailViewerJS добавлена возможность навигации по миниатюрам с помощью клавиатуры.
В класс WebThumbnailViewerJS добавлена возможность выделять миниатюры с помощью клавиатуры.
В класс WebThumbnailViewerJS добавлена возможность удалять миниатюры с помощью клавиатуры.
Демо-приложения:
Выполнен рефакторинг кода веб демо-приложений, чтобы сделать код демо-приложений более простым.
Добавлено много мелких улучшений.
Исправлено много мелких ошибок.
См. по ссылкам историю изменений во встраиваемых модулях связанную с этой версией VintaSoft Imaging .NET SDK:
Большинство новых функций добавлено в Office плагин и описано на страницах истории этого плагина.
.NET разработка:
Создан конвертер документов - класс Vintasoft.Imaging.DocumentConverter, который обеспечивает многопоточный оптимальный алгоритм для простого преобразования изображений и документов во все форматы поддерживаемые SDK.
Добавлена возможность динамической загрузки изображений в коллекцию изображений. Это улучшение позволило улучшить просмотрщик изображений когда просмотрщик отображает документ с большим количеством страниц. Если функциональность включена, то просмотрщик изображений начинает отображение документа почти мгновенно, потому что коллекция изображений не загружает информацию обо всех страницах сразу.
Кодеки изображений:
Улучшен алгоритм декодера и энкодера TIFF.
Улучшен алгоритм декодера PCX.
Демо-приложения:
Добавлено много улучшений и оптимизаций в коде демо-приложения Vintasoft Image Converter.
Добавлена кросс-платформенная поддержка для Windows, Linux и macOS в .NET 6, .NET 5 и .NET Core 3.1.
SDK был успешно протестирован в Windows 10, Ubuntu Desktop 20.04.3, macOS 12 "Monterey".
Рисование двухмерной графики:
В SDK полностью пересмотрены все алгоритмы, которые работают с двухмерной графикой.
Теперь SDK рисует двухмерную графику с помощью движка рисования (Vintasoft.Imaging.Drawing.DrawingEngine класс) и больше напрямую не использует библиотеку System.Drawing.Common.
Созданы движки рисования для Windows, Linux и macOS:
Создан кросс-платформенный движок рисования для Windows, Linux и macOS на базе библиотеки SkiaSharp. Движок рисования находится в сборке Vintasoft.Imaging.Drawing.Skia.dll.
Создан движок рисования для Windows на базе библиотеки System.Drawing.Common. Движок рисования находится в сборке Vintasoft.Imaging.Gdi.dll.
Каждый движок рисования выделен в отдельную сборку.
SDK предоставляет возможность выбрать необходимый движок рисования и подключить его динамически.
В Windows по умолчанию используется движок рисования на базе библиотеки System.Drawing.Common.
В Linux и macOS по умолчанию используется движок рисования на базе библиотеки SkiaSharp.
Значительно расширен функционал движка рисования:
Добавлена возможность поиска и создания шрифтов (Vintasoft.Imaging.Drawing.DrawingFactory.CreateFont и Vintasoft.Imaging.Drawing.DrawingFactory.CreateSystemFont методы).
Добавлена возможность вывода форматированного текста (Vintasoft.Imaging.Drawing.DrawingEngine.DrawText метод).
Добавлена возможность смешивания цветов (Vintasoft.Imaging.Drawing.DrawingEngine.BlendPath метод).
Добавлена возможность вывода текста вдоль графического пути (Vintasoft.Imaging.Drawing.DrawingEngine.DrawString метод).
Добавлены новые режимы рендеринга текста (Vintasoft.Imaging.Drawing.TextRenderingMethod перечисление).
Добавлены новые режимы композиции цвета (Vintasoft.Imaging.Drawing.DrawingEngine.CompositingMode перечисление).
Добавлена возможность рендеринга линий с наконечниками.
Добавлена возможность создания кисти HatchBrush.
Созданы следующие .NET сборки:
Vintasoft.Imaging.Drawing.Skia.dll
Vintasoft.Imaging.Gdi.dll
Vintasoft.Imaging.WebpCodec.dll (только для .NET Core 3.1 или выше)
Кодеки изображений:
Растровые кодеки (BMP, GIF, ICO, JPEG, JPEG-LS, PCX, PNG, RAW, TIFF, TGA, PBM, WEBP) теперь не требуют графического движка для кодирования и декодирования изображений.
Создан кодек (декодер и энкодер) для WEBP изображений (требуется .NET Core 3.1 или выше).
Создан кодек (декодер и энкодер) для TGA изображений.
Создан кодек (декодер и энкодер) для PBM изображений.
Создан энкодер для DOCX документов. Энкодер позволяет конвертировать DOC документ в DOCX документ.
Теперь PNG кодек поддерживает режиме "Adam7 interlacing".
Ускорена производительность алгоритма, который генерирует миниатюру PNG изображения закодированного в режиме "Adam7 interlacing".
Исправлена ошибка в алгоритме парсинга цветовой палитры TIFF изображения.
Просмотр изображений в WinForms:
Добавлена возможность прогрессивной загрузки PNG изображения, закодированного в режиме "Adam7 interlacing", в WinForms просмотрщике изображений.
Просмотр изображений в WPF:
Добавлена возможность прогрессивной загрузки PNG изображения, закодированного в режиме "Adam7 interlacing", в WPF просмотрщике изображений.
Обработка изображений:
Добавлена новая процессинговая команда - CopyColorChannelCommand, которая позволяет копировать цветовые каналы изображения.
Работа с шрифтами:
Добавлено статическое свойство которое определяет контроллер шрифтов по умолчанию (FontProgramsControllerBase.Default).
Добавлена возможность сериализации и десериализации контроллера шрифтов.
Демо-приложения:
В DocumentViewerDemo добавлена возможность открывать и просматривать текстовые файлы.
В ImagingDemo добавлена возможность работать с Webp, TGA и PBM изображениями.
.NET проекты консольных демо-приложений теперь не используют библиотеку System.Drawing.Common.
Исправлено много мелких ошибок.
Веб разработка:
В веб просмотрщике изображений реализована возможность векторного рендеринга документов.
Созданы JavaScript диалоги для Bootstrap (print dialog, thumbnail viewer settings dialog, document password dialog, и другие). Диалоги хранятся в файле Imaging.DocumentViewer.Dialogs.Bootstrap.js.
Улучшена проверка входных параметров в действиях веб сервисов.
Демо-приложения:
Созданы демо-приложения для ASP.NET Core (ASP.NET Core Web API + JavaScript + Bootstrap).
Упрощен код в ASP.NET Core + Angular демо-приложениях (ASP.NET Core Web API + Angular + Bootstrap).
В ASP.NET File Converter Demo добавлена возможность конвертации DOC документа в DOCX документ.
В ASP.NET File Converter Demo добавлена поддержка файловых форматов изображений Webp, TGA и PBM.
Исправлено много мелких ошибок.
См. по ссылкам историю изменений во встраиваемых модулях связанную с этой версией VintaSoft Imaging .NET SDK:
Добавлена возможность векторного рендеринга WMF изображений.
Веб разработка
Поддерживаемые платформы:
JavaScript движок больше не зависит от библиотеки jQuery и полностью написан на JavaScript ES5.
JavaScript движок теперь поддерживает только HTML5 веб браузеры. Завершена поддержка старых веб браузеров на базе технологии SVG, более не поддерживается скрипт Vintasoft.Imaging.Svg.js.
JavaScript диалоги перенесены из скрипта Vintasoft.Imaging.DocumentViewer.js в скрипт Vintasoft.Imaging.DocumentViewer.Dialogs.Simple.js.
jQuery диалоги перенесены из скрипта Vintasoft.Imaging.DocumentViewer.js в скрипт Vintasoft.Imaging.DocumentViewer.Dialogs.jQueryUI.js.
Внесены мелкие исправления в JavaScript API. Подробную информацию смотрите в документации.
Исправлены не критические ошибки в JavaScript движке.
Демо-приложения:
Все Angular демо-приложения теперь используют только Angular диалоги. Раньше некоторые Angular демо-приложения использовали jQuery диалоги из скрипта Vintasoft.Imaging.DocumentViewer.js.
Улучшен код ASP.NET MVC демо-приложений.
Улучшен код ASP.NET WebForms демо-приложений.
См. по ссылкам историю изменений во встраиваемых модулях связанную с этой версией VintaSoft Imaging .NET SDK:
Улучшен алгоритм получения миниатюры из EXIF данных TIFF изображения.
Демо-приложения:
Добавлен новый функционал в ImagingDemo/WpfImagingDemo:
Добавлена возможность бинаризации изображения по цветовому градиенту.
Добавлена возможность замены цвета в изображении с помощью цветового градиента.
Web разработка
Поддерживаемые платформы:
Добавлена поддержка TypeScript.
Добавлена поддержка Angular.
Завершена поддержка ASP.NET MVC4, т.к. данная технология устарела.
Завершена поддержка WCF, т.к. данная технология устарела.
Добавлено много улучшений в JavaScript движке.
Исправлены не критические ошибки в JavaScript движке.
В документации созданы руководства, которые описывают как просматривать изображения и документы в ASP.NET Core + Angular, ASP.NET Core + React, ASP.NET Core + React и Redux, ASP.NET Core, ASP.NET MVC5, ASP.NET WebForms.
Демо-приложения:
Созданы демо-приложения для Angular + ASP.NET Core:
AspNetCoreAngularAnnotationDemo - демонстрирует как просмотреть и аннотировать изображения и документы в Angular + ASP.NET Core.
AspNetCoreAngularBarcodeAdvancedDemo - демонстрирует как распознать 1D/2D штрих-коды в изображении и сгенерировать изображение штрих-кода в Angular + ASP.NET Core.
AspNetCoreAngularCameraDemo - демонстрирует как захватить изображения с DirectX камеры в Angular + ASP.NET Core. Демо-приложение также позволяет просмотреть/обработать/аннотировать захваченное изображение, распознать штрих-коды в захваченном изображении, сохранить захваченное изображение.
AspNetCoreAngularImagingDemo - демонстрирует как просмотреть и обработать изображения и документы в Angular + ASP.NET Core.
AspNetCoreAngularPdfReaderDemo - демонстрирует как просмотреть PDF документ с возможностью навигации по закладкам, просмотра миниатюр страниц, поиска текста, извлечения изображений-ресурсов в Angular + ASP.NET Core.
AspNetCoreAngularTwainScanningAdvancedDemo - демонстрирует как получить изображения с TWAIN сканера в Angular + ASP.NET Core. Демо-приложение также позволяет просмотреть/обработать/аннотировать сканированное изображение, распознать штрих-коды в сканированном изображении, сохранить сканированное изображение.
См. по ссылкам историю изменений во встраиваемых модулях связанную с этой версией VintaSoft Imaging .NET SDK:
Добавлена поддержка (без UI контролов) .NET Core 3 для Windows. Созданы следующие .NET Core сборки:
Vintasoft.Imaging.dll
Vintasoft.Imaging.RawCodec.dll
Прекращена поддержка .NET Framework 2.0, теперь SDK поддерживает .NET Framework 4+ и 3.5.
Издание "Edition for Windows" теперь заменяет прежние издания "Standard edition" и "Standard+WPF edition".
Просмотр изображений в WinForms:
Создан новый визуальный инструмент - DocumentNavigationTool, который позволяет осуществлять переход по ссылкам и навигацию по страницам для PDF и DOCX документов в просмотрщике изображений.
Визуальный инструмент PdfTextSelectionTool переименован в TextSelectionTool и теперь инструмент позволяет выделять текст в PDF и DOCX документах в просмотрщике изображений.
Просмотр изображений в WPF:
Создан новый визуальный инструмент - WpfDocumentNavigationTool, который позволяет осуществлять переход
по ссылкам и навигацию по страницам для PDF и DOCX документов в просмотрщике изображений.
Визуальный инструмент WpfPdfTextSelectionTool переименован в WpfTextSelectionTool и теперь
инструмент позволяет выделять текст в PDF и DOCX документах в просмотрщике изображений.
Обработка изображений:
Добавлена новая процессинговая команда - OverlayBinaryCommand, которая позволяет накладывать черно-белые изображения используя бинарный оператор.
Демо-приложения:
Создано новое WinForms демо-приложение - DocumentViewerDemo, и WPF демо-приложение - WpfDocumentViewerDemo, которые имеют следующий функционал:
извлечение, выделение, поиск текста (PDF, DOCX)
аннотирование документов
конвертация DOCX в PDF или PDF/A
печать документов
Созданы консольные демо-приложения для .NET Core и .NET Framework:
AnnotationEditorConsoleDemo - демонстрирует как изменить аннотации изображения в .NET.
AnnotationRendererConsoleDemo - демонстрирует как отрендерить изображение с аннотациями в .NET.
DicomMprRendererConsoleDemo - демонстрирует как отрендерить MPR срез DICOM изображений в .NET.
DicomRendererConsoleDemo - демонстрирует как отрендерить DICOM изображения в .NET.
ImageConverterConsoleDemo - демонстрирует как конвертировать изображения и документы в .NET.
ImageMetadataConsoleDemo - демонстрирует как работать с метаданными изображения в .NET.
ImageProcessingConsoleDemo - демонстрирует как обработать изображение в .NET.
ImageRendererConsoleDemo - демонстрирует как отрендерить изображение в .NET.
OcrConsoleDemo - демонстрирует как распознать текст в изображении или image-only PDF документе в .NET.
PdfAnnotationsConsoleDemo - демонстрирует как аннотировать PDF документ в .NET.
PdfAProcessorConsoleDemo - демонстрирует как сконвертировать PDF документ в PDF/A формат и верифицировать PDF/A документ в .NET.
PdfCompressorConsoleDemo - демонстрирует как сжать PDF документ в .NET.
PdfContentEditorConsoleDemo - демонстрирует как редактировать контент PDF документа в .NET.
PdfEditorConsoleDemo - демонстрирует как защитить, внедрить/оптимизировать шрифты, сконвертировать в image-only, подписать PDF документ в .NET.
DocumentTextExtractionConsoleDemo - демонстрирует как извлечь текст из PDF или DOCX документа в .NET.
Веб разработка
Просмотр изображений в веб приложении:
Созданы платформенно-независимые .NET Core веб сервисы для рендеринга изображений и миниатюр.
Платформенно-независимые веб сервисы позволяют быстро создать веб сервисы для любой .NET Core совместимой веб платформы, например для ASP.NET Core MVC, ServiceStack. Веб сервисы расположены в сборке Vintasoft.Imaging.Web.Services.dll.
Созданы веб сервисы для рендеринга изображений и миниатюр в ASP.NET Core MVC.
Веб сервисы расположены в сборке Vintasoft.Imaging.AspNetCore.ApiControllers.dll.
Создан новый визуальный инструмент - WebDocumentNavigationToolJS, который позволяет осуществлять переход по ссылкам и навигацию по страницам для PDF и DOCX документов в просмотрщике изображений.
Визуальный инструмент WebPdfTextSelectionToolJS переименован в WebTextSelectionToolJS и теперь инструмент позволяет выделять текст в PDF и DOCX документах в просмотрщике изображений.
Создан набор SVG-иконок для web document viewer-а.
Обработка изображений в веб приложении:
Создан платформенно-независимый .NET Core веб сервис для обработки изображений.
Платформенно-независимый веб сервис позволяет быстро создать веб сервис для любой .NET Core совместимой веб платформы, например для ASP.NET Core MVC, ServiceStack. Веб сервис расположен в сборке Vintasoft.Imaging.Web.Services.dll.
Создан веб сервис для обработки изображений в ASP.NET Core MVC.
Веб сервис расположен в сборке Vintasoft.Imaging.AspNetCore.ApiControllers.dll.
Демо-приложения:
Созданы демо-приложений для ASP.NET Core MVC:
AspNetCoreAnnotationDemo - демонстрирует как просмотреть и аннотировать изображения и документы в ASP.NET Core MVC.
AspNetCoreBarcodeAdvancedDemo - демонстрирует как распознать 1D/2D штрихкоды в изображении и сгенерировать изображение штрихкода в ASP.NET Core MVC.
AspNetCoreCameraDemo - демонстрирует как захватить изображение с камеры, просмотреть/обработать/аннотировать захваченное изображение, распознать штрихкоды в захваченном изображении, сохранить захваченное изображение в ASP.NET Core MVC.
AspNetCoreFileConverterDemo - демонстрирует как сконверировать изображения и документы в ASP.NET Core MVC.
AspNetCoreImagingDemo - демонстрирует как просмотреть и обработать изображения и документы в ASP.NET Core MVC.
AspNetCoreOcrDemo - демонстрирует как распознать текст в изображении или image-only PDF документе в ASP.NET Core MVC.
AspNetCorePdfReaderDemo - демонстрирует как просмотреть PDF документ с возможностью навигации по закладкам, просмотра миниатюр страниц, поиска текста, извлечения изображений-ресурсов в ASP.NET Core MVC.
См. по ссылкам историю изменений во встраиваемых модулях связанную с этой версией VintaSoft Imaging .NET SDK:
В WinForms и WPF просмотрщиках изображений добавлена возможность навигации и зумирования используя клавиатуру. Поддерживается 18 общепринятых сочетаний клавиш.
Улучшена производительность WPF просмотрщиков изображений и WPF визуальных инструментов.
В классы ImageViewer и WpfImageViewer добавлена новая функция - ScrollToRect, которая позволяет скролировать просмотрщик к заданному прямоугольнику.
Обработка изображений:
Добавлена новая процессинговая команда - DrawImageCommand, которая позволяет рисовать изображение на другом изображении.
Во все команды обработки изображений добавлены новые свойства - ExpandSupportedPixelFormats и RestoreSourcePixelFormat, которые позволяют определить как команда должна обработать изображение, если команда не поддерживает исходный формат изображения.
Добавлен новый класс - ImageProcessingCommandFactory, который предоставляет возможность создать команду обработки изображения в зависимости от кодека изображения. Изображение будет обработано более эффективно, если заранее известен формат, в котором изображение хранится, например, команда InvertCommand выполнит растровое инвертирование цветов изображения, если изображение загружено из TIFF файла, и выполнит векторное инвертирование контента PDF страницы, если изображение является отрендеренным изображеним PDF страницы.
В команды DeskewCommand и DeskewDocumentImageCommand добавлено новое свойство - Binarization, которое позволяет определить команду, которая должна быть применена к обрабатываемому не черно-белому изображению.
Общие возможности:
Добавлен новый класс - VintasoftDrawingConverter, который позволяет конвертировать типы System.Drawing в типы Vintasoft и обратно.
Добавлен новый класс - VintasoftWpfConverter, который позволяет конвертировать типы WPF в типы Vintasoft и обратно.
В типы Vintasoft добавлены операторы явного/неявного преобразования в типы System.Drawing.
Демо-приложения:
Внесено много изменений в код демо-приложений, чтобы сделать код оптимальнее и проще.
Теперь каждое демо-приложение это независимый проект, проекты ImagingDemosCommonCode и PdfDemosCommonCode удалены.
Добавлены улучшения в демо-приложения DicomViewerDemo и WpfDicomViewerDemo.
Веб разработка
Создан Web Document Viewer для быстрой и простой разработки пользовательского интерфейса веб приложения:
JavaScript UI контрол, который работает во всех основных HTML5 и SVG браузерах
Пользовательский интерфейс совместим с персональными компьютерами, планшетами и мобильными устройствами
Отображает различные типы изображений и документов: PDF, TIFF, PNG, JPEG, GIF, BMP, PCX, RAW, JBIG2, JPEG2000, DICOM, XPS, etc
Поддерживает многостраничное отображение изображений и PDF документов
Поддерживает получение изображений со сканера (VintaSoftTwain.NET SDK is necessary) или камеры
Поддерживает отображение миниатюр
Поддерживает печать изображений и PDF документов
Поддерживает обработку изображений
Поддерживает аннотирование изображений и PDF документов
Поддерживает выделение текста в PDF документе
Поддерживает поиск текста в PDF документе с подсветкой найденного текста
Поддерживает возможность выгрузки измененного изображения или PDF документа
Поддерживает создание пользовательского интерфейса любой сложности
Поддерживает возможность локализации пользовательского интерфейса
Пользовательский интерфейс переведен на английский и русский языки
Возможна локализация интерфейса на другие языки
Может быть использован на веб странице или в веб приложении.
Добавлен JavaScript класс для локализации содержимого и пользовательского интерфейса веб страницы.
Созданы новые ASP.NET MVC и ASP.NET WebForms демо-приложения с пользовательским интерфейсом, который является дружественным мобильным устройствам:
ASP.NET Imaging Demo демонстрирует как в ASP.NET просмотреть и обработать изображения и PDF документы.
ASP.NET Annotation Demo демонстрирует как в ASP.NET просмотреть и аннотировать изображения и PDF документы.
ASP.NET PDF Reader Demo демонстрирует как в ASP.NET просмотреть PDF документы с возможностью навигации по закладкам, поиска текста, выделения текста, извлечения изображений-ресурсов.
ASP.NET Camera Demo демонстрирует как в ASP.NET захватить изображения с камеры, просмотреть/обработать/аннотировать захваченное изображение, распознать штрихкоды в захваченном изображении, сохранить захваченное изображение.
ASP.NET TWAIN Advanced Demo демонстрирует как в ASP.NET получить изображения от TWAIN сканера, просмотреть/обработать/аннотировать сканированное изображение, распознать штрихкоды в сканированном изображении, сохранить сканированное изображение.
Barcode Advanced Demo демонстрирует как в ASP.NET распознать 1D/2D штрихкоды в изображении и сгенерировать изображение штрихкода.
ASP.NET OCR Demo демонстрирует как в ASP.NET распознать текст в изображениях и image-only PDF документах.
ASP.NET File Converter Demo демонстрирует как в ASP.NET сконверировать файлы изображений и PDF документов.
См. по ссылкам историю изменений во встраиваемых модулях связанную с этой версией VintaSoft Imaging .NET SDK:
Добавлен режим многостраничного просмотра изображений в HTML5 и SVG просмотрщиках изображений:
Поддерживаются следующие предопределенные режимы отображения изображений: 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.
Поддерживается возможность определить пользовательский режим отображения изображений.
Добавлена возможность работать в многостраничном режиме для следующих визуальных инструментов:
PanTool
ZoomTool
ZoomSelectionTool
MagnifierTool
RectangularSelectionTool
Улучшена работа с сенсорным экраном.
Просмотр изображений в WinForms и WPF:
Визуальный инструмент PanTool теперь позволяет паннировать и скроллировать изображения в просмотрщике изображений, который работает в многостраничном режиме.
Кодеки:
Улучшен алгоритм TIFF энкодера для более оптимального сохранения изображений при использовании настроек по умолчанию.
Добавлена возможность создавать настройки энкодера аналогичные настройкам, с которыми закодировано исходное изображение.
Добавлена возможность вычислить качество (параметр Quality) для существующего JPEG изображения.
Исправлена ошибка сериализации свойства NumberOfAnimationCycles в GIF энкодере.
Обработка изображений:
Созданы новые команды для обработки изображений в частотном домене (frequency domain): SelectiveFilteringCommand, FrequencySpectumVisualizerCommand.
Увеличена производительность команды ChangePixelFormatToGray8Command.
Увеличена производительность команды ResizeCommand для 16-битных серых изображений.
Общие возможности:
Созданы новые структуры данных для работы в трехмерном пространстве: VintasoftPoint3D, VintasoftVector3D.
Созданы классы для Аффинных преобразований в трехмерном пространстве: AffineMatrix3D, VintasoftPoint3DAffineTransform.
Демо-приложения:
В ASP.NET WebForms и ASP.NET MVC демо-приложениях добавлена возможность просматривать изображения в режиме многостраничного просмотра изображений.
Создано ASP.NET демо-приложение OcrDemo, которое позволяет распознавать текст в изображениях и сохранять результат в текстовый файл или PDF документ.
Создано ASP.NET демо-приложение FileConverterDemo, которое позволяет конвертировать файлы изображений и PDF документы.
См. по ссылкам историю изменений во встраиваемых модулях связанную с этой версией VintaSoft Imaging .NET SDK:
Добавлен многостраничный режим просмотра изображений в просмотрщик изображений:
Поддерживаются следующие предопределенные режимы отображения изображений: 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.
Поддерживается возможность определить пользовательский режим отображения изображений.
Добавлена возможность работать в многостраничном режиме для следующих визуальных инструментов:
ZoomTool
ZoomSelectionTool
MagnifierTool
ImageMapTool
RectangularSelectionTool
OverlayImageTool
MultiRectangularSelectionTool
CustomSelectionTool
В визуальном инструменте Лупа (Magnifier):
Добавлена возможность обработать изображение, которое отображается в Лупе.
Добавлена возможность создать Лупу в виде эллипса.
Добавлен класс-помощник, который позволяет хранить и управлять настройками представления интерактивных зон визуального инструмента (класс InteractionAreaAppearanceManager).
Просмотр изображений в WPF:
Добавлен многостраничный режим просмотра изображений в просмотрщик изображений:
Поддерживаются следующие предопределенные режимы отображения изображений: 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.
Поддерживается возможность определить пользовательский режим отображения изображений.
Добавлена возможность работать в многостраничном режиме для следующих визуальных инструментов:
ZoomTool
ZoomSelectionTool
MagnifierTool
ImageMapTool
RectangularSelectionTool
OverlayImageTool
MultiRectangularSelectionTool
CustomSelectionTool
Добавлена возможность работы с сенсорным экраном для визуальных инструментов Zoom и Pan.
В визуальном инструменте Лупа (Magnifier):
Добавлена возможность обработать изображение, которое отображается в Лупе.
Добавлена возможность создать Лупу в виде эллипса.
Добавлен класс для настройки представления интерактивных точек для любых визуальных инструментов (класс WpfInteractionAreaAppearanceManager).
Исправлены не критические ошибки в визуальном инструменте WpfCompositeVisualTool.
Просмотр изображений в веб приложении:
Ускорена работа HTML5 и SVG просмотрщиков изображений.
Оптимизировано отображение анимации в HTML5 и SVG просмотрщиках изображений.
Обработка изображений:
Созданы команды для обработки изображений в частотном домене используя быстрое преобразование Фурье:
Создан базовый класс, который позволяет создавать произвольную команду для фильтрации Gray8, Bgr24 или Bgra32 изображения в частотном домене (класс FastFourierTransformCommand).
Созданы команды, которые позволяют применить высокочастотную фильтрацию, в частотном домене, к изображению (классы IdealHighpassCommand, ButterworthHighpassCommand, GaussianHighpassCommand).
Созданы команды, которые позволяют применить низкочастотную фильтрацию, в частотном домене, к изображению (классы IdealLowpassCommand, ButterworthLowpassCommand, GaussianLowpassCommand).
Создана команда для увеличения резкости изображения используя высокочастотную фильтрацию в частотном домене (класс ImageSharpeningCommand).
Создана команда для увеличения сглаженности изображения используя низкочастотную фильтрацию в частотном домене (класс ImageSmoothingCommand).
Создана команда для получение попиксельного сравнения двух изображений (класс ImageComparisonCommand).
Создана команда для масштабирования изображения используя коэффициент масштабирования с возможностью сохранить пропорции изображения (класс ImageScalingCommand).
Теперь класс OverlayWithBlendingCommand позволяет задать Alpha константу для налагаемого изображения.
Исправлены ошибки в методах клонирования процессинговых команд.
Хранение данных:
Созданы новые хранилища данных: CompositeDataStorage, StreamDataStorageOnDisk, CloneableObjectStorageInMemory, CompressedImageStorageInMemory, CompressedImageStorageOnDisk.
Улучшена архитектура хранилищ данных.
Добавлена возможность кэширования изображений в хранилище данных.
Undo/redo история изменения объектов (изображений, аннотаций):
Добавлена возможность хранить историю изменений изображений на диске (в хранилище).
Улучшен алгоритм работы класса UndoManager.
Веб сервисы для обработки изображений:
Проведен рефакторинг архитектуры веб сервисов.
Добавлена возможность использовать хранилища данных в кеш менеджерах.
Теперь файл изображения с сервера можно выгрузить в виде бинарного потока.
Кодеки:
Исправлены ошибки в GIF кодеке.
Исправлены ошибки в TIFF кодеке.
Демо-приложения:
В ASP.NET WebForms и ASP.NET MVC демо-приложения:
Добавлена возможность локализации интерфейса демо-приложений (используется библиотека l20n). Интерфейс демо-приложений локализован на английский и русский языки.
Добавлена возможность выгрузки файла с сервера в виде бинарного потока.
Добавлена возможность управления цветом при отображении изображений и PDF документов.
Проведен рефакторинг кода демо-приложений.
В ASP.NET MVC демо-приложении:
Добавлена возможность отображения видео-потока и захвата изображений с HTML5 web камеры.
Созданы мини-демки для WinForms и WPF:
Создана мини демо-приложение "Document Viewer".
Создана мини демо-приложение "Load, View and Save Images".
Создана мини демо-приложение "Annotate Images".
Создана мини демо-приложение "Thumbnail Viewer Customization".
Создана мини демо-приложение "Thumbnail Viewer Drag & Drop".
Создана мини демо-приложение "Image Processing".
В демо-приложении ImageProcessingDemo добавлена возможность посмотреть различия между исходным и обработанным изображениями.
В WinForms и WPF демо-приложение ImagingDemo добавлен диалог для редактирования настроек лупы просмотрщика изображений.
В демо-приложении PrintDemo улучшено отображение заголовка к изображению в режиме Mosaic.
Мелкие улучшения в коде демо-приложений.
Множество мелких исправлений и улучшений.
См. по ссылкам историю изменений во встраиваемых модулях связанную с этой версией VintaSoft Imaging .NET SDK:
Созданы платформенно-независимые веб сервисы для рендеринга изображений и миниатюр.
Платформенно-независимые веб сервисы позволяют быстро создать веб сервисы для любой .NET совместимой веб платформы, например для ASP.NET MVC, ASP.NET WebForms, ServiceStack.
Веб сервисы расположены в сборке Vintasoft.Imaging.Web.Services.dll.
Созданы веб сервисы для рендеринга изображений и миниатюр в ASP.NET MVC 5.
Веб сервисы расположены в сборке Vintasoft.Imaging.Web.Api2Controllers.dll.
HTML5 и SVG контролы для просмотра изображений и PDF документов теперь совместимы с jQuery 2 и 3.
Улучшена лупа в веб просмотрщиках изображений.
Обработка изображений в веб приложении:
Создан платформенно-независимый веб сервис для обработки изображений.
Платформенно-независимый веб сервис позволяют быстро создать веб сервис для любой .NET совместимой веб платформы, например для ASP.NET MVC, ASP.NET WebForms, ServiceStack.
Веб сервис расположен в сборке Vintasoft.Imaging.Web.Services.dll.
Создан веб сервис для обработки изображений в ASP.NET MVC 5.
Веб сервисы расположены в сборке Vintasoft.Imaging.Web.Api2Controllers.dll.
JavaScript классы для обработки изображений теперь совместимы с jQuery 2 и 3.
Печать изображений в веб приложении:
JavaScript классы для печати изображений теперь совместимы с jQuery 2 и 3.
Демо-приложения:
Cоздано демо-приложение, которое показывает как просматривать, обрабатывать, аннотировать и печатать изображения в ASP.NET MVC 5.
Множество мелких исправлений в демо-приложениях.
Множество крупных и мелких исправлений и улучшений.
См. по ссылкам историю изменений во встраиваемых модулях связанную с этой версией VintaSoft Imaging .NET SDK:
Добавлена возможность использовать несколько потоков для рендеринга миниатюр в WinForms просмотрщике миниатюр.
Ускорена загрузка миниатюр в WinForms просмотрщике миниатюр.
Расширен набор стандартных статических графических объектов, которые можно использовать в визуальном инструменте GraphicObjectTool. Теперь поверх изображения в WinForms просмотрщике изображений можно легко добавить прямоугольник (RectangularGraphicObject), эллипс (EllipticalGraphicObject), текст (TextGraphicObject), статическое изображение (ImageGraphicObject), графический путь (PathGraphicObject), группу графических объектов (GraphicObjectGroup).
Создан визуальный инструмент MultiRectangularSelectionTool, который позволяет выделить несколько прямоугольников на изображении в WinForms просмотрщике изображений. Выделение сохраняется при переходе между изображениями в просмотрщике изображений.
Просмотр изображений в WPF:
Ускорена загрузка миниатюр в WPF просмотрщике миниатюр.
Расширен набор стандартных статических графических объектов, которые можно использовать в визуальном инструменте WpfGraphicObjectTool. Теперь поверх изображения в WPF просмотрщике изображений можно легко добавить прямоугольник (WpfRectangularGraphicObject), эллипс (WpfEllipticalGraphicObject), текст (WpfTextGraphicObject), статическое изображение (WpfImageGraphicObject), графический путь (WpfPathGraphicObject), группу графических объектов (WpfGraphicObjectGroup).
Создан визуальный инструмент WpfMultiRectangularSelectionTool, который позволяет выделить несколько прямоугольников на изображении в WPF просмотрщике изображений. Выделение сохраняется при переходе между изображениями в просмотрщике изображений.
Просмотр изображений в ASP.NET WebForms:
Улучшен алгоритм рендеринга изображений в ASP.NET WebForms просмотрщике изображений.
Просмотр изображений в ASP.NET MVC:
Созданы ASP.NET MVC4 & HTML5 веб контролы для просмотра, аннотирования и редактирования изображений и PDF документов в ASP.NET MVC приложениях.
Обработка изображений
Созданы новые команды для обработки изображений:
Команда ExtractColorChannelCommand - извлекает заданный цветовой канал изображения либо все цветовые каналы изображения.
Команда SetColorChannelCommand - устанавливает один или несколько цветовых каналов изображения.
Команда ChangeChannelsFormatCommand - изменяет формат цветовых каналов изображения.
Добавлена возможность низкоуровневой обработки изображений с N-каналами и M-битами на канал (M<=32).
Обработка изображений в ASP.NET WebForms и ASP.NET MVC:
Добавлена возможность редактирования изображений в ASP.NET приложениях.
На данный момент поддерживаются следующие команды обработки изображений: clear image, crop image, flip image, halftone image, invert image, resize image canvas, resize image, rotate image.
Список команд обработки изображений может быть легко расширен потому что архитектура является открытой.
Обработанное изображение может быть сохранено в исходный файл или в новый файл.
Кодеки:
Создан декодер XPS файлов для WPF (находится в сборке Vintasoft.Imaging.Wpf.dll).
Добавлена возможность сохранения CMYK-изображений в формате JPEG.
Добавлена возможность расширенного управления настройками кодирования в JPEG.
См. по ссылкам историю изменений во встраиваемых модулях связанную с этой версией VintaSoft Imaging .NET SDK:
Реализован режим оптимизации размера кодируемых JPEG-изображений (подбор оптимальной таблицы Хаффмана).
Добавлена возможность декодировать изображения закодированные в прогрессивном режиме.
Добавлена возможность сглаживания изображения при декодировании изображений использующих режим Subsampling, что улучшает качество JPEG изображений с текстовыми данными.
Добавлена возможность декодирования 8 и 12 битных файлов закодированных в режиме SOF1.
Добавлена поддержка работы с метаданными находящимися в сегменте JFIF.
Ускорено декодирование серых изображений в среднем на 30%.
Ускорено кодирование изображений в среднем на 9%.
Улучшено качество закодированного изображения при больших степенях сжатия.
Улучшено качество декодирования серых 8-битных изображений.
Улучшен кодек TIFF изображений:
Добавлена возможность декодировать серые изображения с следующими глубинами цвета: 2, 3, 5, 6, 7, 9, ..., 32, 64.
Добавлена возможность декодировать палитровые изображения с следующими глубинами цвета: 2, 3, 5, 6, 7, 9, ..., 16.
Добавлена возможность декодировать RGB изображения с следующими глубинами цвета: 3, 6, ..., 21, 27, 30, ..., 45, 51, 54, ..., 96, 192.
Добавлена возможность декодировать CMYK изображения с следующими глубинами цвета: 40 и 64.
Добавлена возможность декодировать YCbCr изображения с следующими глубинами цвета: 24.
Много мелких улучшений.
Улучшен кодек PNG изображений:
В PNG декодере реализована возможность прогрессивной загрузки больших изображений, что визуально ускоряет процесс загрузки изображения.
Ускорено декодирование PNG изображений.
Улучшен кодек RAW изображений:
Ускорено декодирование RAW изображений в которых данные закодированы с помощью сетки Баера и алгоритма интерполяции Ahd.
Много мелких улучшений.
Работа с метаданными изображения:
Добавлена возможность извлекать графические пути из свойства "clipping paths" сегмента Adobe для файлов JPEG и TIFF.
Просмотр изображений в WinForms:
В просмотрщике изображений добавлена возможность выделять область изображения заданную с помощью графического пути (GraphicsPath).
Просмотр изображений в WPF:
В просмотрщике изображений добавлена возможность выделять область изображения заданную с помощью графического пути (GraphicsPath).
Обработка изображений:
Добавлена возможность распараллеливания процесса обработки изображения на заданном числе потоков.
Добавлены новые команды обработки изображений:
IsImageBlackWhiteCommand - команда позволяет определить является ли изображение черно-белым.
IsImageGrayscaleCommand - команда позволяет определить является ли изображение серым.
GetImageColorDepthCommand - команда позволяет определить реальную глубину цвета изображения.
GetBorderRectCommand - команда позволяет определить прямоугольник, определяющий расположение контента документа на изображении.
Улучшены процессинговые команды:
В команде GetColorCountCommand добавлена возможность указывать максимальное количество цветов и точность сравнения цветов.
В команде ResizeCommand добавлена возможность задать алгоритм интерполяции.
В команды GetBorderColorCommand и BorderRemovalCommand добавлены новые параметры настройки.
Добавлена возможность бинаризации изображения с помощью алгоритма Halftone.
Все команды обработки изображений теперь реализуют интерфейс ICloneable.
Получение изображений с камер:
Улучшен алгоритм получения изображений с камеры для большей совместимости с современными камерами.
См. по ссылкам историю изменений во встраиваемых модулях связанную с этой версией VintaSoft Imaging .NET SDK:
Создано приложение Web Imaging Demo, которое позволяет просматривать изображения в веб.
В демо-приложения добавлен диалог настроек управления цветом позволяющий загружать входные и выходные ICC профили, а также управлять дополнительными настройками: RenderingIntent, Black Point Compensation.
Создан визуальный инструмент MultiRectangularSelectionTool, позволяющий создать и редактировать выделение состоящее из множества прямоугольников на изображении. Инструмент иллюстрирует простоту создания сложного интерактивного визуального инструмента используя открытую архитектуру интерактивного взаимодействия с пользователем.
Доработано приложение Ocr Demo, появилась возможность изменять регионы сегментации (использован MultiRectangularSelectionTool).
Возможность получить миниатюру, изображение для предварительного просмотра или исходное изображение.
Возможность получить исходное изображение без или с интерполяцией. Поддерживаются билинейная, градиентная и адаптивная интерполяции.
Возможность применить цветокоррекцию к исходному изображению. Поддерживается автоматический баланс белого, баланс белого камеры и баланс белого заданный пользователем.
Возможность получить метаданные изображения.
Добавлена поддержка декодирования 2-х битного BMP формата в ICO файлах.
Просмотр изображений:
Добавлена возможность отключать управление настройками рендеринга у просмотрщика изображений.
См. по ссылкам историю изменений во встраиваемых модулях связанную с этой версией VintaSoft Imaging .NET SDK:
Создано демо-приложение Multi Webcam Demo, которое иллюстрирует возможность отображать видео с нескольких камер на одной форме.
Создано демо-приложение Raw Image Viewer Demo, которое позволяет просмотреть все изображения присутствующие в RAW файле (миниатюру, изображение для предварительного просмотра, исходное изображение). Исходное изображение может быть получено как интерполированное или неинтерполированное изображение, также может быть проведена цветокоррекция (баланс белого) исходного изображения.
Создано демо-приложение Raster Grid Editor Demo, которое демонстрирует работу с тайлами больших TIFF изображений:
Визуальное обозначение тайлов.
Изменение тайлов.
Создание больших изображений.
Создано демо-приложения Webcam Barcode Reader Demo и Wpf Webcam Barcode Reader Demo, которые позволяют:
Получить список камер доступных в системе.
Предварительный просмотр "видео" с камеры.
Захват изображения с камеры.
Распознавание штрихкода в захваченном изображении.
Обновлены демо-приложения Imaging Demo и Wpf Imaging Demo. Добавлена возможность читать и генерировать штрих-коды используя VintaSoft Barcode .NET SDK для .NET и WPF соответственно:
Добавлен визуальный инструмент BarcodeReaderTool / WpfBarcodeReaderTool, который позволяет читать штрих-коды используя непосредственно ImageViewer.
Добавлен визуальный инструмент BarcodeWriterTool / WpfBarcodeWriterTool, который позволяет генерировать штрих-коды на изображениях используя ImageViewer.
Обновлены демо-приложения Annotation Demo и Wpf Annotation Demo. Добавлена возможность изменять параметры внешнего вида точек взаимодействия с аннотациями (цвет заливки, цвет границы, радиус, и др).
В библиотеку были внесены серъезные изменения с целью:
Обеспечить возможность портирования библиотеки на другие платформы и в другие среды.
Выделить контролы графического интерфейса пользователя для WinForms.
Создать контролы графического интерфейса пользователя для WPF.
Максимизировать скорость работы библиотеки.
Сделать библиотеку более расширяемой и стабильной.
Кодеки:
Упрощена работа и расширены возможности по работе с метаданными изображения:
Создана иерархия классов предоставляющая упрощенную возможность по просмотру и редактированию дерева метаданных изображения.
Появилась возможность копировать метаданные при конвертации изображения из одного формата в другой.
Расширены возможности по работе с метаданными TIFF файла (добавлен класс TiffImageFileDirectory).
Создан кодек для работы с изображениями иконок и курсоров (.ico, .cur).
Оптимизирована архитектура ImageFile.
Оптимизирована архитектура кодеров.
Добавлена возможность получать расширенную информацию о прогрессе сохранения изображения(й).
Добавлена возможность сохранять изображение в исходный файл указывая лишь имя файла.
Рендеринг изображений:
Создана иерархия классов позволяющая максимально гибко настроить условия рендеринга изображения.
Просмотр изображений:
Оптимизированы WinForms контролы для просмотра изображений и миниатюр.
Созданы WPF контролы для просмотра изображений и миниатюр:
WpfImageViewer - WPF контрол предназначенный для просмотра изображения.
WpfThumbnailViewer - WPF контрол предназначенный для просмотра миниатюр изображений.
WpfAnimatedImageViewer - WPF контрол предназначенный для просмотра слайд-шоу.
Визуальные инструменты:
В инструменте UserInteractionVisualTool:
Значительно расширена архитектура визуального инструмента для взаимодействия с пользователем.
Появилась возможность использовать сразу несколько контроллеров интерактивного взаимодействия для трансформации объекта, например, теперь прямоугольный объект можно трансформировать как прямоугольник и как набор точек.
Все визуальные инструменты в которых имеется взаимодействие с пользователем теперь являются потомками класса UserInteractionVisualTool.
Создана иерархия визульных инструментов для WPF: WpfCropSelectionTool, WpfRectangularSelectionTool,
WpfZoomSelectionTool, WpfRectangularSelectionToolWithCopyPaste, WpfDragDropSelectionTool, WpfZoomTool,
WpfPanTool, WpfMagnifierTool, WpfOverlayImageTool, WpfImageProcessingToolWithRectangularSelection,
WpfHighlightTool, WpfCustomSelectionTool, WpfCompositeVisualTool.
Печать изображений:
Оптимизирован контрол ImagePrintDocument обеспечивающий печать изображений в WinForms.
Создан класс WpfImagePrintManager обеспечивающий печать изображений в WPF.
Изменение выделения с помощью мыши или программно.
Добавление и удаление точек выделения с помощью мыши или програмно.
Трансформация выделения с помощью мыши или программно: перемещение, растяжение, поворот, перспективное искажение по четырем точкам, наклон.
Получение выделения в виде графического пути.
Переопределение внешнего вида выделения.
ImageProcessingToolWithRectangularSelection - визуальный инструмент обеспечивающий применение процессинговой команды к прямоугольному выделению:
Применение любой процессинговой команды к изображению.
Обработка всего изображения или региона изображения.
Предварительный просмотр результата обработки изображения.
OverlayImageTool - визуальный инструмент обеспечивающий наложение в просмотрщике одного изображения на другое. Накладываемое изображение может быть неограниченного размера.
Изменённые визуальные инструменты:
В инструменте ZoomSelectionTool появилась возможность изменять выделение с помощью мыши.
В инструменте CropSelectionTool появилась возможность изменять выделение с помощью мыши.
В инструменте DragAndDropTool появились возможности:
Изменять выделение с помощью мыши.
Масштабировать выделенный фрагмент изображения.
Команды обработки изображений:
Внесены изменения в иерархию команд обработки изображений влекущие пересмотр кода, связанного с командами обработки изображений.
Новые базовые команды обработки изображения:
ProcessPathCommand - обеспечивает обработку графического пути на изображении, используя процессинговую команду.
OverlayMaskedCommand - обеспечивает наложение одного изображения на другое с использованием маски альфа-канала.
OverlayWithBlendingCommand - обеспечивает наложение одного изображения на другое со смешиванием цветов.
Новые команды для работы с цветом изображения:
Color.PosterizeCommand - обеспечивает приведение изображения к локальным цветам.
Color.ReplaceColorCommand - обеспечивает замену одного цвета на другой в изображении.
Новые фильтры:
Filters.MinimumCommand - обеспечивает применение арифметического фильтра Minimum к изображению.
Filters.MaximumCommand - обеспечивает применение арифметического фильтра Maximum к изображению.
Filters.MedianCommand - обеспечивает применение арифметического фильтра Median к изображению.
Filters.MeanCommand - обеспечивает применение арифметического фильтра Mean к изображению.
Filters.MidPointCommand - обеспечивает применение арифметического фильтра MidPoint к изображению.
Filters.DilateCommand - обеспечивает применение морфологического фильтра Dilate к изображению.
Filters.ErodeCommand - обеспечивает применение морфологического фильтра Erode к изображению.
Filters.ConvolutionCommand - обеспечивает применение фильтра Convolution к изображению.
Filters.EmbossCommand - обеспечивает применение фильтра Emboss к изображению.
Filter.GaussianBlurCommand - обеспечивает применение фильтра GaussianBlur к изображению.
Новые эффекты:
Effects.BevelEdgeCommand - обеспечивает добавление скоса по контуру изображения.
Effects.DropShadowCommand - обеспечивает добавление тени на изображение.
Effects.MosaicCommand - обеспечивает создание мозаичного изображения.
Effects.MotionBlurCommand - обеспечивает применение эффекта MotionBlur к изображению.
Effects.RedEyeRemovalCommand - обеспечивает удаление эффекта красных глаз.
Effects.SolarizeCommand - обеспечивает получение нормального изображения из негатива.
Новые команды для трансформации изображения:
Transforms.SkewCommand - обеспечивает наклон изображения.
Transforms.QuadrilateralWarpCommand - обеспечивает деформацию изображения.
Измененные команды для работы с цветом:
В команде обесцвечивания изображения (Colors.Desaturate) добавлена возможность обесцвечивать изображение 3 способами: оценивая яркость пикселя (Lightness), оценивая светимость пикселя (Luminosity), по среднему значению цвета пикселя (Average).
Исправлено несколько мелких ошибок.
Демо-приложения:
Обновлено демо-приложение ImagingDemo:
Добавлены новые команды обработки изображений.
Добавлена возможность использовать произвольное выделение на изображении.
Добавлены новые визуальные инструменты.
Добавлена возможность предпросмотра результатов работы команды обработки изображения.
Обновлено демо-приложение ImageProcessingDemo:
Добавлены новые команды обработки изображений.
Добавлена возможность использовать прямоугольное и произвольное выделение для указания региона на изображении, который нужно обработать.
Создан функционал для оптического распознавания символов (OCR) и выпущен в новом встраиваемом модуле VintaSoft OCR .NET Plug-in.
Создан интерфейс IVectorDecoder, который позволяет получить изображение от векторного декодера с требуемыми настройками рендеринга и в требуемом масштабе.
Добавлена поддержка интерфейса IVectorDecoder в классах ImageViewer и ImageRenderer. Значительно увеличена скорость работы с векторными декодерами PDF документа.
Команды обработки изображений:
Добавлена возможность получить результаты выполнения команды как класс ProcessingCommandResult.
Создана новая команда - CompositeCommand, которая позволяет выполнить сразу несколько команд. Эта команда передает информацию о результатах выполнения предыдущих команд текущей команде и это, иногда, позволяет сократить общее время работы по сравнению с выполнением каждой команды по отдельности.
Команда OverlayCommand теперь может накладывать 24- и 32-х битные изображения с прозрачностью. Эта команда позволяет задать цвет, который считается прозрачным.
Исправлена ошибка в алгоритме конвертации изображений в 8-ми битное серое изображение.
Исправлена ошибка в алгоритме конвертации изображений в 4-х битное палитровое изображение.
Пересмотрена иерархия команд используемая для изменения формата изображения:
Команда ChangePixelFormatCommand стала более простой и теперь принимает только один параметр - формат пиксела, в который нужно преобразовать изображение.
Созданы следующие команды изменения формата изображения: ChangePixelFormatToBlackWhiteCommand, ChangePixelFormatToPaletteCommand, ChangePixelFormatToGrayCommand, ChangePixelFormatToBgrCommand.
Созданы следующие новые команды для очистки электронных документов: BorderClearCommand, BinarizeCommand, DocumentSegmentationCommand.
Усовершенствованы следующие команды для очистки электронных документов: BorderRemovalCommand, DespeckleCommand, DeskewCommand.
Весь функционал связанный с очисткой электронных документов перенесён в отдельную сборку.
Некоторые мелкие исправления и дополнения.
Визуальные инструменты:
Создан новый визуальный инструмент - CompositeVisualTool, который позволяет объединить поведение и функциональность нескольких инструментов в одном.
Добавлена возможность упростить создание изображений стандартных размеров (A4, A3, ...) и с размерами заданными в миллиметрах или дюймах, используя класс ImageSize и перечисление PaperSizeKind.
Демо-приложения:
Создано Image Processing demo, которое демонстрирует как можно обработать одно или несколько изображений группой команд обработки изображений.
Создано Pdf Report Generator demo, которое демонстрирует как можно генерировать PDF документы (отчёты, счета, и т.п.) на лету.
Создано Ocr demo, которое, в общем случае, демонстрирует как можно распознавать текст из изображений и сохранять результаты в PDF документ с возможностью поиска.
Усовершенствовано Imaging demo путём добавления возможности храненить историю обработки изображений (Undo/Redo).
Оптимизирован код в Print demo и исправлены некоторые утечки памяти.
Усовершенствовано Pdf Drawing demo путём добавления возможности генерировать новые графические фигуры на PDF странице.
Добавлена поддержка отображения и работы с большими и очень большими изображениями (более гигапикселя):
Больше не требуется хранить всё изображение в памяти.
Добавлена поддержка прогрессивной загрузки изображения в просмотрщике (для JPEG2000, BMP, TIFF).
Добавлена поддержка загрузки изображения в просмотрщике по частям (для JPEG2000, JPEG, BMP, TIFF).
При работе с большим изображением используется многопоточность.
Увеличена скорость прокрутки изображений.
Добавлена возможность задания якоря положения изображения в окне.
Добавлена возможность задания фокусной точки изображения:
Фиксированная фокусная точка задается якорем на видимой части изображения.
Нефиксированная фокусная точка дает возможность возврата к просматриваемой части изображения при зумировании.
Добавлена возможность программно перемещаться к заданной точке на изображении в просмотрщике.
Добавлена возможность зумирования относительно указанной точки на изображении.
Предоставляется более точный зум - ZoomExtended, с допускаемым диапазоном значений от 0.01 до 1000 процентов.
Добавлена возможность отображения специальной карты изображения, которая применяется для быстрой навигации по большому изображению и имеет следующие свойства:
Размер карты и якорь положения карты в просмотрщике.
Относительный зум и режим отображения с максимальным соответствием.
Подсветка текущей видимой области на карте.
Переход к указанному месту на изображении по клику мыши на карте.
Расширенны возможности работы с декодерами JPEG2000, JPEG, BMP, TIFF:
Добавлена возможность получения части изображения в заданном масштабе, без декодирования и загрузки всего изображения в память.
Добавлена возможность получения разных частей одного изображения в разных потоках (многопоточность).
Реализован новый класс - ImageRenderer, предоставляющий богатый функционал для работы с большими и очень большими изображениями (более гигапикселя):
Добавлена возможность получения указанной части изображения с заданным масштабом.
Добавлена возможность отображения промежуточных шагов процесса получения изображений (плавная загузка).
Добавлена поддержка прогрессивной многоступенчатой загрузки изображения или его части для форматов JPEG2000, TIFF, BMP.
Добавлена поддержка быстрого получения миниатюр без загрузки всего изображения в память для форматов JPEG2000, JPEG, BMP, TIFF, PNG.
Добавлено использование многопоточности при получении изображения или его части. Используемое число потоков выбирается автоматически, либо задается пользователем.
Добавлена возможность кэширования уже загруженных частей изображения для ускорения работы.
Кодеки
Создан PNG кодек:
Создана поддержка декодирования 1/2/4/8/16/24/32/48/64-битных PNG изображений.
Создана поддержка кодирования 1/4/8/16/24/32/48/64-битных PNG изображений.
Достигается улучшение до 40% в сжатии PNG фалов.
Создана возможность указать степень сжатия и применяемый фильтр данных.
Создана возможность добавления/чтения текстовых полей в PNG файле.
Создана возможность изменения палитры или разрешения PNG файла без его полной перезаписи.
Усовершенствован TIFF кодек:
Добавлена поддержка изображений формата BigTIFF.
Добавлена возможность получать только часть изображения страницы TIFF файла.
Добавлена возможность получать масштабированное изображение страницы TIFF файла.
Оптимизирована работа с метаданными TIFF файла. Создан алгоритм минимизирующий размер метаданных страницы TIFF файла.
Добавлена поддержка цветового пространства CIELab.
Визуальные инструменты:
Создан новый визуальный инструмент - ScrollPages, который позволяет прокручивать изображения используя колесо мыши и перепрыгивать с одного на другое при достижении нижней части изображения.
Изменен алгоритм расчета шага зума в инструменте Zoom для лучшего визуального восприятия.
Изменен алгоритм зумировния в визуальном инструменте Zoom - зум происходит относительно точки зумирования указанной кликом мыши.
Улучшено качество картинки отображаемой визуальным инструментом Лупа.
Демо-приложения:
Создано Large Image Viewer demo.
Усовершенствовано Multi Page Tiff demo:
Добавлена возможность задать формат и версию вновь создаваемого TIFF файла.
Добавлена возможность загружать BigTIFF файлы.
Добавлен диалог редактирования свойств просмотрщиков изображений и миниатюр.
Выросло общее быстродействие просмотрщиков изображений.
Теперь большая часть операций в просмотрщиках выполняется асинхронно.
Добавлена возможность связывать просмотрщики друг с другом, например, связать вместе просмотрщики миниатюр, изображений и аннотаций.
Создан контрол PaletteViewer для просмотра и редактирования палитры изображения.
Создан контрол AnimatedImageViewer предназначеный для организации слайд шоу.
Добавлена возможность обработки флага e.Handled при вызове следующих событий: CopyKeyPressed, CutKeyPressed, DeleteKeyPressed, InsertKeyPressed, SelectAllKeyPressed.
Добавлена возможность изменения разрешения и палитры не переписывая весь файл.
Добавлена возможность получить миниатюру без загрузки файла в память целиком.
Обработка изображений:
Добавлен фильтр создающий эффект масляной живописи (OilPaintingCommand).
Добавлены новые команды: ClearImageCommand, GetAlphaChannelCommand, SetAlphaChannelCommand.
Улучшена команда ResizeCanvasCommand.
Оптимизирован алгоритм наложения: теперь при наложении 8-битных изображений учитывается прозрачность.
Демо-приложения:
Пересмотрена структура демо-приложений. Часто повторяющиеся независимые части программы сосредоточены в новой сборке DemosCommonCode.
Усовершенствовано Annotation demo: добавлен контрол AnnotationsToolStrip - независимая панель с аннотациями.
Создано Gif Animator demo - полнофункциональный редактор анимированных GIF файлов.
Перепроектировано Thumbnail Viewer demo. Оно содержит реализацию просмотра миниатюр изображений находящихся в одной папке - демонстрирует синхронную работу средств для просмотра папок, миниатюр и изображений.
Разрешен прямой доступ к пикселям: можно получить/установить цвет пикселя для любого из поддерживаемого форматов изображений.
Добавлена асинхронная загрузка изображений в просмотрщике изображений.
Ускорена работа просмотрщиков изображений и миниатюр.
Ускорена работа визуальных инструментов.
Исправлена ошибка установки настройки рендеринга в просмотрщике изображений.
Оптимизированы функции обработки изображений:
Создана новая иерархия классов обработки изображений.
Добавлена возможность создавать пользовательские функции обработки изображений.
Добавлены новые функции обработки изображений: объединение пикселей, сепия, плитка с отражением, размывание, обнаружение краёв, увеличение резкости.
Добавлена возможность конвертировать изображения из/в 16-битные RGB форматы BGR555 и BGR565. Сохранение BGR555 поддерживается только в BMP файлы.
Порог преобразования для конвертации цветных изображений в черно-белые теперь по умолчанию установлен на 384.
Оптимизирован TIFF кодек:
Добавлены индикаторы прогресса загрузки и сохранения изображения.
Добавлена возможность копировать страницы с JPEG сжатием из одного TIFF файла в другой.
Изменена логика работы TIFF кодека. Если выбрано CCITT4 сжатие для сохранения изображения, которое не является черно-белым, то оно автоматически будет преобразовано в черно-белое и сохранено. В предыдущей версии приоритет отдавался изображению (все цветные изображения сохранялись с LZW сжатием в подобном случае), в текущей пользователю.
Оптимизирован алгоритм работы с TIFF изображениями получеными от факса.
Оптимизировано общее использование памяти и увеличено общее быстродействие.
Оптимизировано использование памяти в PDF, JBIG2 кодеках и JPEG кодере.
Оптимизировано демо-приложение Image Viewer demo и переименовано в Imaging demo.
Оптимизировано и обновлено демо-приложение Print demo для печати PDF файлов.
Добавлена возможность сохранять изображения с ZIP сжатием в TIFF файлы.
Оптимизировано использование памяти в алгоритме сохранения TIFF файлов.
Добавлена возможность задавать настройки рендеринга для векторных декодеров.
Добавлена возможность загружать PDF документы используя новый встраиваемый модуль VintaSoft PDF .NET Plug-in.
Добавлена возможность конвертировать PDF документы в BMP, JPEG, GIF, PNG, TIFF или многостраничные TIFF файлы используя новый встраиваемый модуль VintaSoft PDF .NET Plug-in.
Добавлена возможность сохранять изображения в PDF/A документы используя встраиваемый модуль VintaSoft PDF .NET Plug-in.
Добавлена возможность кодировать и декодировать черно-белые изображения с JBIG2 сжатием, как автономные так и встроенные в PDF, используя новый встраиваемый модуль VintaSoft JBIG2 .NET Plug-in.
Добавлена возможность конвертировать изображения в черно-белые изображения с JBIG2 сжатием и назад используя встраиваемый модуль VintaSoft JBIG2 .NET Plug-in.
Увеличена скорость рендеринга миниатюр.
Добавлена возможность настройки поведения визуальных инструментов.
Добавлена возможность расширенной настройки печати (выделение, текущая страница, диапазон страниц).
Сборка Vintasoft.Imaging.dll теперь доступна в двух вариациях:
Особенности сборки находящейся в папке "\Bin\v2.0\":
Сборка скомпилирована под .NET 2.0
Сборка может быть использована в режимах x86 и WOW64
Сборка не может быть использована в режимах x64
Функции GDI32 используются для предпросмотра изображений в просмотрщике
Доступна высокая скорость предпросмотра изображений в просмотрщике.
Особенности сборки находящейся в папке "\Bin\v2.0\x64\":
Сборка скомпилирована под .NET 2.0
Сборка может быть использована в режимах x86, WOW64 и x64
Функции GDI32 не используются для предпросмотра изображений в просмотрщике
Скорость предпросмотра изображений в просмотрщике ниже чем у сборки использующей GDI32.
Добавлена возможность модифицировать метаданные TIFF изображения.
Добавлена возможность скопировать выделенную часть изображения и вставить в другое изображение в просмотрщике.
Добавлена возможность изменять глубину цветов изображения (конвертировать цвета).
Добавлена возможность наложения одного изображения на другое.
Добавлен новый визуальный инструмент - Выделение, который позволяет выделить определенную часть изображения в просмотрщике и скопировать её в буфер обмена Windows.
Добавлена возможность получить гистограмму изображения.
Добавлена возможность контролировать просмотрщик изображений из кода, а именно, масштабировать, выделить определенную часть, подрезать, перетащить изображение.
Добавлена возможность задать горячие клавиши для визуальных инструментов.
Добавлено новое событие, которое возникает при изменении выделения в просмотрщике изображений.
Добавлено новое событие, которое возникает при изменении миниатюры под курсором мыши. Это событие может быть использовано в случае, когда Вы хотите добавить пользовательское контекстное меню к просмотрщику миниатюр.
Усовершенствован алгоритм определения пустого изображения.
Улучшен алгоритм загрузки TIFF файлов.
Исправлена ошибка загрузки WMF/EMF файлов.
Некоторые крупные и мелкие исправления.
Создано Web Stamp Image demo. Это демо-приложение показывает, как добавить аннотации в изображения загруженные на сервер.
Увеличена скорость работы предпросмотра в просмотрщике изображений.
Исправлена ошибка предыдущей версии, когда изображения печатались с неправильным разрешением.
Улучшено качество отрисовки миниатюр.
Оптимизирована работа визуального инструмента лупа.
В просмотрщике миниатюр изображений добавлена возможность множественного выбора (миниатюры могут быть выделены, перемещены, удалены).
Добавлены новые функции обработки изображений: изменение размеров, изменение разрешения с изменением физического размера изображения и без.
Оптимизированы алгоритмы функций обработки изображений: удаление шума, выравнивание угла наклона, удаление тёмных краёв.
Оптимизирован алгоритм сжатия LZW. Увеличена скорость чтения TIFF изображений с LZW сжатием.
Добавлена поддержка изображений у которых рознятся разрешения по осям X и Y.
Добавлена возможность задать бордюр изображениям в просмотрщике миниатюр.
Добавлена поддержка установки фокуса при наведении: изображение может быть автоматически выбрано когда курсор мыши остается над связанной миниатюрой на секунды.
Поддерживаемые операции над многостраничным TIFF файлами: получение, добавление, вставка и удаление изображения, упаковка файла, чтение метаданных, чтение и запись аннотаций.
Поддерживаемые типы сжатия в TIFF файлах: None, CCITT Group 3 and 4 fax, CCITT Rle, Packbits, LZW, Deflate, JPEG.