Openseadragon, DeepZoom, WordPress - PullRequest
       101

Openseadragon, DeepZoom, WordPress

1 голос
/ 26 мая 2020

Попытка настроить OpenSeadragon для сайта WordPress. Сейчас просто тестирую и пытаюсь заставить работать функцию масштабирования.

  • Я включил OpenSeadragon скрипты для просмотра изображений DZI. Думаю, у меня все хорошо.
  • Моя проблема на самом деле заключается в создании изображения DZI из изображения с высоким разрешением. Как мне это сделать, и можно ли это сделать на лету?

Я безуспешно пытался включить генератор тайлов DeepZoom и продолжаю получать " Fatal error : Неперехваченная ошибка: Класс «Лига \ Flysystem \ Filesystem» не найден. Ошибка .

Единственный другой генератор DZI, который, как я вижу, может работать, - это настольное приложение Windows, которое не работает, я использую ma c.

Это то, что у меня есть (просто работа с примерами, предоставленными openseadragon и deepzoom):

Я включаю Deepzoom. php и DeepzoomFactory. php в свой файл функций .

<div id="primary" class="content-area zoom">
    <main id="main" class="site-main">

    <?php
    // Setup Deepzoom
    $deepzoom = Jeremytubbs\Deepzoom\DeepzoomFactory::create([
        'path' => '/wp-content/uploads/DZI/ready/', // Export path for tiles
        'driver' => 'imagick', // Choose between gd and imagick support.
        'format' => 'jpg',
    ]);
    // folder, file are optional and will default to filename
    $response = $deepzoom->makeTiles('/wp-content/uploads/DZI/oklahoma.jpg');
    ?>

    <div id="openseadragon1" style="width: 800px; height: 600px;"></div>
    <script src="<?php echo get_template_directory_uri() ; ?>/lib/openseadragon/openseadragon.min.js"></script>
    <script type="text/javascript">
        var viewer = OpenSeadragon({
            id: "openseadragon1",
            prefixUrl: "/wp-content/themes/truelook/lib/openseadragon/images/",
            tileSources: <?php echo $response; ?>
        });
    </script>

Любые предложения или советы, указывающие мне правильное направление, были бы очень приветствуются. Спасибо!

Ответы [ 2 ]

1 голос
/ 27 мая 2020

libvips имеет dzsave, что позволяет очень быстро создавать пирамиды deepzoom любого размера. Об этом есть глава в документации .

Вы можете установить на ma c с homebrew , macports, fink et c. Например:

brew install vips

Затем создайте пирамиду с:

vips dzsave oklahoma.jpg x

, и получится x_files и x.dzi (используйте другое имя, конечно).

Вы также можете использовать php -vips (привязка PHP для libvips) для создания пирамид. Что-то вроде:

$im = Vips\Image::newFromFile('oklahoma.jpg', 
    ['access' => Vips\Access::SEQUENTIAL]);
$im->dzsave('x');
0 голосов
/ 03 июня 2020

вы видели этот плагин Zoom OpenSeadragon ? он устарел, но может помочь вам сделать поддерживаемую операцию более плавной.

...