编辑:用魔法解决了 - 非常感谢你们 :) GitHub repo中的更新版本,适用于任何对驯鹿的故事感兴趣的人。
我对 R 很陌生,刚认识R Shiny。然而,我正在尝试做一个驯鹿发电机。基本原理:组合不同层次的图像以创建您的个人驯鹿。例如,用按钮切换外套颜色,而轮廓仍然留在顶部。理想情况下,它最终应该看起来像这样(我用 GIMP 绘制的预览):
首先,我设法将图像放入 Shiny 并在两件带有单选按钮的外套之间切换。但是,我不知道如何在同一位置同时显示图像,因此轮廓将是外套顶部的额外层。
你可以在这里看到问题:
这是我的代码。由于文件名部分是由单选按钮输入生成的,所以我留下了这样的路径。
library(shiny)
ui <- fluidPage(
titlePanel("R-eindeer"),
sidebarLayout(
sidebarPanel(
radioButtons("check1","coat colour", choices = c("grey","brown"))
),
mainPanel(
imageOutput("reindeer_coat"),
imageOutput("reindeer_outline")
)
)
)
server <- function(input,output){
getImage <- reactive({
list(src = paste0("./coat/reindeer_", input$check1, ".png"),
width = 500,
height = 500)
})
output$reindeer_coat <- renderImage({
getImage()
}, deleteFile = FALSE)
output$reindeer_outline <- renderImage({
return(list(src = "./outlines/reindeer_outline.png",
width = 500,
height = 500,
contentType = 'image/png'))
}, deleteFile = FALSE)
}
shinyApp(ui = ui, server = server)
我将不胜感激任何帮助。即使解决了这个问题,还有很长的路要走——但也许我可以学得足够快,在圣诞节前完成工作;-)
PS:您可以在我刚刚创建的Git 存储库中找到所有文件夹、图像层和其他信息。此外,即使您无法解决我的问题:请随意使用图像并传递圣诞精神。驯鹿内容应始终免费。链接到 GitHub 存储库