UI виджеты для визуализации большого изображения - PullRequest
0 голосов
/ 11 февраля 2020

Есть ли хорошие инструменты / виджеты пользовательского интерфейса для визуализации большого изображения / PDF-документа. Надеемся, что инструмент, который ведет себя так же, как карта Google, визуализируется, где у вас есть функция масштабирования и можно перетаскивать на различные части изображения

1 Ответ

1 голос
/ 11 февраля 2020

Для PDF я не знаю. Для изображений вы можете попробовать библиотеку JavaScript imgViewer2.

library(shiny)

js <- '$(document).ready(function(){ $("#myimage").imgViewer2(); });'

ui <- fluidPage(
  tags$head(
    tags$link(
      rel = "stylesheet", 
      href = "https://unpkg.com/leaflet@1.3.1/dist/leaflet.css"),
    tags$link(
      rel = "stylesheet", 
      href = "http://code.jquery.com/ui/1.12.1/themes/smoothness/jquery-ui.css", 
      media = "screen"),
    tags$script(src = "https://unpkg.com/leaflet@1.3.1/dist/leaflet.js"),
    tags$script(src = "http://code.jquery.com/ui/1.12.1/jquery-ui.min.js"),
    tags$script(
      src = "https://cdn.jsdelivr.net/npm/imgviewer2@1.1.0/src/imgViewer2.min.js"),
    tags$script(HTML(js))
  ),
  br(),
  tags$img(id = "myimage", 
           src = "https://images.plot.ly/language-icons/api-home/r-logo.png", 
           width = "20%")
)

server <- function(input, output, session){}

shinyApp(ui, server)

Или библиотека panzoom:

library(shiny)

js <- '
$(document).ready(function(){ 
  var img = document.getElementById("myimage");
  panzoom(img);
});'

ui <- fluidPage(
  tags$head(
    tags$script(
      src = "https://unpkg.com/panzoom@8.7.3/dist/panzoom.min.js"),
    tags$script(HTML(js))
  ),
  br(),
  tags$img(id = "myimage", 
           src = "https://images.plot.ly/language-icons/api-home/r-logo.png", 
           width = "20%")
)

server <- function(input, output, session){}

shinyApp(ui, server)

Или попробуйте пакет R svgPanZoom .

...