Размещение изображений в коллекции DeepZoom, созданной с помощью API

#c# #deepzoom

#c# #deepzoom

Вопрос:

Я создаю коллекцию DeepZoom, используя код от Брайанта…

http://bryantlikes.com/DeepZoomImageGenerationWithDeepZoomToolsDLL.aspx

Это создает коллекцию DeepZoom с изображениями, расположенными в сетке. Как мне контролировать размещение изображений в сцене с помощью API?

Обновить:

Я хочу иметь возможность размещать изображения рядом друг с другом и генерировать из них изображение DeepZoom… НЕ создавать коллекцию подизображений, которые я должен размещать во время выполнения.

Это было бы похоже на второй шаг в DeepZoom Composer, где вы размещаете все изображения, которые вы импортировали на шаге 1, относительно друг друга, а на шаге 3 генерируете изображение DeepZoom.

Ответ №1:

Как вы можете видеть из его примера кода. Он добавляет изображения слева направо, сверху вниз. Итак, все, что вам нужно сделать, это отсортировать список перед отображением изображений.

 var x = 0.0;
var y = 0.0;
foreach (MultiScaleSubImage subImage in msi.SubImages)
{
    subImage.ViewportWidth = 5.333;
    subImage.ViewportOrigin = new Point(-x, -y);
    x  = 1;

    if (x >= 5)
    {
        y  = 1.333;
        x = 0.0;
    }
}
 

Комментарии:

1. Извините… мой вопрос немного расплывчатый… Я обновлю его. Я хочу иметь возможность размещать изображения рядом с каждым (в одной длинной полосе) и создавать из него изображение DeepZoom, А НЕ коллекцию подизображений, которые я затем упорядочиваю во время выполнения.

Ответ №2:

Я не думаю, что api deepzoomtools позволяет создавать единую композицию. Вам нужно будет использовать какое-нибудь программное обеспечение для сшивания фотографий, чтобы сшить изображения, а затем передать их в deepzoomtools, чтобы создать коллекцию из этого единственного сшитого изображения.