shinyで、画像をuiサイドで読み込んで、serverサイドでresizeして、表示したいのですが、
上手くいかずに困っています。
#########
#UI
#########
library(shiny)
shinyUI(
fluidPage(
Application title
titlePanel("XXXX"),
Sidebar with a slider input for number of bins
fluidRow(
column(2,
fileInput("file1", "Choose image File",
multiple = TRUE,
accept = c(".png",".jpeg","bmp","jpg")),
sliderInput("image_width", min=1, max=1000, step=1, label = "bin", value = 300), #submition submitButton("Submit"), sliderInput("image_height", min=1, max=1000, step=1, label = "bin", value = 270), #submition submitButton("Submit") ), column(10, mainPanel( tabsetPanel( type="tabs", tabPanel( "myImage", imageOutput("Image") ), tabPanel( "resizedImage", imageOutput("Resized") ) )#close tabsetepanel )#close main Panel )#close culumn10 )#close fluidRow )#close fluidPage )#close shiny
#########
#Server
##########
library(shiny)
library(imager)
shinyServer(function(input, output) {
output$Image <- renderImage({
req(input$file1)
return(list(
src = input$file1$datapath,
contentType = NA,
width = 300,
deleteFile=F
#height = 300
)) #close return
}) #close renderImage
output$Resized <- renderImage({
req(input$file1)
resizeW <- input$image_width
resizeH <- input$image_height
resizeW <- as.numeric(resizeW)
resizeH <- as.numeric(resizeH)
#resize
img <- load.image(input$file1$datapath)
resize <- resize(img,resizeW,resizeH)
plot(resize)
})
}) #close shinysrver
あなたの回答
tips
プレビュー