VintaSoft Imaging .NET SDK 15.2: Документация для Веб разработчика
В этом разделе
Просмотр миниатюр в HTML5 веб-браузере
В этом разделе

1. JavaScript UI-контрол для просмотра миниатюр в HTML5 веб-браузере.

Класс WebThumbnailViewerJS - это JavaScript UI-контрол для просмотра миниатюр в любом HML5 веб-браузере. Класс может быть создан на стороне клиента веб-приложения. Для получения информации об изображении и рендаринга миниатюры классу требуется веб сервис. В качестве веб сервиса может использоваться ASP.NET Core Web API контроллер, ASP.NET Веб API 2 контроллер или любой другой веб сервис совместимый с .NET.

Инструкции по внедрению веб просмотрщика миниатюр в ASP.NET приложение можно найти здесь:
WebThumbnailViewerJS может работать независимо, и в этом случае: WebThumbnailViewerJS может работать как подчинённый просмотрщик другого просмотрщика WebThumbnailViewerJS или WebImageViewerJS, и в этом случае: Вот JavaScript код, который демонстрирует, как добавить изображения в веб просмотрщик изображений и установить связь между веб просмотрщиком изображений и веб просмотрщиком миниатюр:
// create images
var imageSource = new Vintasoft.Shared.WebImageSourceJS("/Images/SourceImage.pdf");
var image1 = new Vintasoft.Shared.WebImageJS(imageSource, 0);
var image2 = new Vintasoft.Shared.WebImageJS(imageSource, 1);
// create an image viewer
var imageViewer1 = new Vintasoft.Imaging.UI.WebImageViewerJS("WebImageViewer1");
// create a thumbnail viewer
var thumbnailViewer1 = new Vintasoft.Imaging.UI.WebThumbnailViewerJS("WebThumbnailViewer1");
// create a link between image viewer and thumbnail viewer
thumbnailViewer1.set_MasterViewer(imageViewer1);
// get an image collection of image viewer
var images = imageViewer1.get_Images();
// add images to the image collection
images.addRange([image1, image2]);


1.1. Внешний вид миниатюр.

1.1.1. Размер миниатюр.

Миниатюры имеют два размера: Фактический размер миниатюр можно установить с помощью функции WebThumbnailViewerJS.set_ThumbnailSize. Минимальный фактический размер миниатюры - 32x32 пикселя, максимальный - 1024x1024 пикселя.

Видимый размер миниатюр можно установить с помощью функции WebThumbnailViewerJS.set_ThumbnailScale. Видимый размер рассчитывается как произведение фактического размера и коэффициента масштабирования. Вот список коэффициентов масштабирования:

1.1.2. Пользовательский внешний вид для миниатюр.

Класс WebThumbnailAppearanceJS позволяет определить внешний вид миниатюры:
Для каждого стиля можно задать цвет фона, стиль фона и стиль границы миниатюры.

Вот JavaScript код, который демонстрирует, как определить внешний вид миниатюры и установить его в качестве стиля миниатюры в в веб просмотрщике миниатюр:
var appearance = new Vintasoft.Imaging.WebThumbnailAppearance("red", "3px solid green");
thumbnailViewer1.set_NormalThumbnailAppearance(appearance);

1.1.3. Добавление текста к миниатюре.

Функция WebThumbnailViewerJS.getThumbnailCanvas позволяет получить холст, на котором отрисована миниатюра. Холст можно использовать для рисования дополнительной информации (например, текста) на миниатюре.

Вот JavaScript код, который демонстрирует, как добавить текст с индексом миниатюры под изображением миниатюры:
// get the thumbnail canvas
var canvas = thumbnailViewer1.get_ThumbnailCanvas(0);

// draw a text on the thumbnail canvas

var width = canvas.width;
var height = canvas.height;
var canvasContext = canvas.getContext("2d");
canvasContext.font = "12px Arial";
canvasContext.textAlign = "center";
canvasContext.fillText("# 1", width / 2, height - 3);


1.2. Работа с миниатюрами.

1.2.1. Рендеринг миниатюр.

WebThumbnailViewerJS рендерит миниатюры и генерирует события: По умолчанию рендерятся все миниатюры. Функция WebThumbnailViewerJS.set_GenerateOnlyVisibleThumbnails позволяет указать, нужно ли рендерить только видимые миниатюры.

1.2.2. Множественный выбор.

WebThumbnailViewerJS позволяет выбрать несколько миниатюр одновременно. Индексы выбранных миниатюр можно получить с помощью функции WebThumbnailViewerJS.get_SelectedIndices. Индексы выбранных миниатюр можно установить с помощью функции WebThumbnailViewerJS.set_SelectedIndices.


1.2.3. Поворот миниатюр.

Функция WebThumbnailViewerJS.set_ViewRotationAngle позволяет установить угол ортогонального поворота миниатюры в веб просмотрщике миниатюр.


1.2.4. Кэширование миниатюр на сервере.

Функция WebThumbnailViewerJS.set_UseCache позволяет указать, необходимо ли кэширование миниатюр в файлах на сервере.

Если кэширование включено, веб просмотрщик миниатюр выполнит следующие действия:
Если кэширование отключено, веб просмотрщик миниатюр рендерит миниатюру для каждого нового запроса.

Миниатюра может быть сохранена в кэше как PNG-изображение (WebImageTypeEnumJS.Url) либо как base64-строка (WebImageTypeEnumJS.Base64). По умолчанию веб просмотрщик миниатюр сохраняет миниатюры в кэше как PNG-изображения. Используемый формат можно получить с помощью функции WebThumbnailViewerJS.get_ThumbnailsFormat. Используемый формат можно установить с помощью функции WebThumbnailViewerJS.set_ThumbnailsFormat.


2. Пользовательский интерфейс веб просмотрщика документов для просмотра миниатюр в HTML5 веб-браузере.

Класс WebUiThumbnailViewerPanelJS представляет собой UI-панель, которая может использоваться в веб просмотрщике документов и позволяет отображать веб просмотрщик миниатюр. Панель может быть расположена на боковой панели или отдельно.
Панель создаст веб просмотрщик миниатюр, если флаг "annotations" отключен в настройках веб просмотрщика документов.
Панель создаст веб просмотрщик миниатюр с аннотациями, если флаг "annotations" ВКЛЮЧЕН в настройках веб просмотрщика документов.

Класс WebThumbnailViewerSettingsDialogJS представляет собой диалоговое окно, которое может использоваться в веб просмотрщике документов и позволяет просматривать и редактировать настройки веб просмотрщика миниатюр.

Вот снимок экрана панели с просмотрщиком миниатюр в веб приложении: