diff --git a/quack.sh b/quack.sh index c4efa6789f41972127b61039c267a9d4e9a3b790..1950e1b4d9364cec836ba32ede25aa0c8ce32855 100755 --- a/quack.sh +++ b/quack.sh @@ -126,6 +126,9 @@ TILE="false" # The view represents an end-user version of the scan. This will often be # downscaled, levelled, sharpened and JPEG'ed. export PRESENTATION="true" +# The image format for the presentation image. Possible values are png and jpg. +# jpg is recommended as this would normally be the choice for end-user presentation. +export PRESENTATION_IMAGE_DISP_EXT="jpg" # Overlay colors for indicating burned out high- and low-lights export OVERLAY_BLACK=3399FF @@ -317,6 +320,7 @@ function makeImageParams() { BLACK_IMAGE="${DEST_FOLDER}/${BASE}.black.png" PRESENTATION_IMAGE="${DEST_FOLDER}/${BASE}.presentation.jpg" TILE_FOLDER="${DEST_FOLDER}/${BASE}_files" + PRESENTATION_TILE_FOLDER="${DEST_FOLDER}/${BASE}.presentation_files" ALTO_DEST="${DEST_FOLDER}/${BASE}.alto.xml" } @@ -370,6 +374,7 @@ function makeImages() { local THUMB_OVERLAY_BLACK="${DEST_FOLDER}/${BASE}.black.thumb.png" local PRESENTATION_IMAGE="${DEST_FOLDER}/${BASE}.presentation.jpg" local TILE_FOLDER="${DEST_FOLDER}/${BASE}_files" + local PRESENTATION_TILE_FOLDER="${DEST_FOLDER}/${BASE}.presentation_files" local ALTO_DEST="${DEST_FOLDER}/${BASE}.alto.xml" if [ ! -f $SOURCE_IMAGE ]; then @@ -395,6 +400,10 @@ function makeImages() { # TODO: Specify JPEG quality deepzoom "$CONV" -format $IMAGE_DISP_EXT -path "${DEST_FOLDER}/" fi + if shouldGenerate "$FORCE_TILES" "$PRESENTATION_TILE_FOLDER" "tiles"; then + # TODO: Specify JPEG quality + deepzoom "$PRESENTATION_IMAGE" -format $PRESENTATION_IMAGE_DISP_EXT -path "${DEST_FOLDER}/" + fi fi if shouldGenerate "$FORCE_BLOWN" "$WHITE_IMAGE" "overlay"; then @@ -718,6 +727,21 @@ function makePreviewPage() { Height: \"$IMAGE_HEIGHT\"\ }\ }"$'\n' + if [ ".true" == ".$PRESENTATION" ]; then + PRESENTATION_TILE_SOURCES=" Image: {\ + xmlns: \"http://schemas.microsoft.com/deepzoom/2008\",\ + Url: \"${PRESENTATION_TILE_FOLDER##*/}/\",\ + Format: \"$PRESENTATION_IMAGE_DISP_EXT\",\ + Overlap: \"4\",\ + TileSize: \"256\",\ + Size: {\ + Width: \"$PRESENTATION_WIDTH\",\ + Height: \"$PRESENTATION_HEIGHT\"\ + }\ + }"$'\n' + else + PRESENTATION_TILE_SOURCES="" + fi else TILE_SOURCES=" type: 'legacy-image-pyramid',\ levels:[\ @@ -727,15 +751,20 @@ function makePreviewPage() { height: ${IMAGE_HEIGHT}\ }\ ]"$'\n' + if [ ".true" == ".$PRESENTATION" ]; then + PRESENTATION_TILE_SOURCES=" type: 'legacy-image-pyramid',\ + levels:[\ + {\ + url: '${PRESENTATION_IMAGE##*/}',\ + width: ${PRESENTATION_WIDTH},\ + height: ${PRESENTATION_HEIGHT}\ + }\ + ]"$'\n' + else + PRESENTATION_TILE_SOURCES="" + fi fi THUMB="$THUMB_LINK" - if [ ".true" == ".$PRESENTATION" ]; then - PRESENTATION_LINK=${PRESENTATION_IMAGE##*/} - else - PRESENTATION_LINK="" - PRESENTATION_WIDTH=0 - PRESENTATION_HEIGHT=0 - fi WHITE_LINK=${WHITE_IMAGE##*/} WHITE="$WHITE_LINK" BLACK_LINK=${BLACK_IMAGE##*/} diff --git a/web/image_template.html b/web/image_template.html index aae0ae08a3105af94ed7f56a47953aa9e33e73ef..8e074d64aadde77eecf9866569162b5db886c842 100644 --- a/web/image_template.html +++ b/web/image_template.html @@ -119,19 +119,12 @@ ${ALTO_ELEMENTS_HTML} <script type="text/javascript"> presentationDragon = OpenSeadragon({ id: "presentation-display", - maxZoomLevel: 2, + maxZoomLevel: 4, showNavigator: false, wrapHorizontal: false, tileSources: { - type: 'legacy-image-pyramid', - levels:[ - { - url: '${PRESENTATION_LINK}', - width: ${PRESENTATION_WIDTH}, - height: ${PRESENTATION_HEIGHT} - }, - ] + ${PRESENTATION_TILE_SOURCES} }}); </script>