Henrik Bengtsson on 2014-09-07
> R.utils::use("R.utils, tools")
> url <- "http://identity.ucsf.edu/images/downloads/official/ucsf_logo_K_OTL_9.eps.zip"
> epsZ <- downloadFile(url, path = "images/src")
> eps <- unzip(epsZ, files = file_path_sans_ext(basename(epsZ)), exdir = "images/src")
> convert <- function(...) {
+ args <- list(...)
+ flags <- which(sapply(args, FUN = isTRUE))
+ keys <- names(args)
+ isSrc <- (keys == "src")
+ isDest <- (keys == "dest")
+ keys <- sprintf("-%s", keys)
+ keys[(keys == "-") | isSrc | isDest] <- ""
+ args <- unlist(args)
+ src <- unname(args[isSrc])
+ src <- Arguments$getReadablePathname(src)
+ args[isSrc] <- normalizePath(src)
+ dest <- unname(args[isDest])
+ if (isFile(dest))
+ return(getRelativePath(dest))
+ dest <- Arguments$getWritablePathname(dest, mustNotExist = FALSE)
+ dest <- normalizePath(dest)
+ args[isDest] <- dest
+ args[flags] <- ""
+ args <- sprintf("%s %s", keys, args)
+ args <- paste(c("convert", args), collapse = " ")
+ args <- gsub("[ ]+", " ", args, fixed = TRUE)
+ message(args)
+ shell(args)
+ getRelativePath(dest)
+ }
> dimension <- function(pathname, ...) {
+ shell(sprintf("identify -format %%G %s", pathname), intern = TRUE)
+ }
> name <- "ucsf_logo_K_OTL_9"
> dpi <- 1200
> pngA <- convert(density = dpi, src = eps, trim = TRUE, dest = sprintf("images/%s,%ddpi.png", name, dpi))
> pngA
[1] "images/ucsf_logo_K_OTL_9,1200dpi.png"
> pngB <- convert(src = pngA, colors = 2, depth = 1, transparent = "white", dest = sprintf("%s,000000,transparent.png",
+ file_path_sans_ext(pngA)))
> pngB
[1] "images/ucsf_logo_K_OTL_9,1200dpi,000000,transparent.png"
> primary <- c("#88bbbb", "#000000", "#bbbbaa", "#003366")
> secondary <- c("#999933", "#cccc66", "#7799bb", "#99bbcc", "#666699", "#9999cc", "#990000", "#ffcc99", "#cc6600",
+ "#ffcc66", "#cc9933", "#ffcc66")
> grays <- c("#eeeeee", "#e6e6e6", "#cccccc", "#999999", "#666666")
> pastels <- c("#ddeeee", "#d7e7e7", "#eeffff", "#cceeee", "#ffeeee", "#ffffdd", "#faf2e3", "#ffddbb", "#eeeedd",
+ "#eeeecc", "#ddddaa")
> banner <- c("#77aaaa", "#aaaa99", "#000000", "#666666")
> cols <- c(primary, secondary, grays, pastels, banner, "#ffffff")
> col <- cols[1]
> pngC <- convert(src = pngB, fill = col, opaque = "black", dest = sprintf("%s,%s,transparent.png", file_path_sans_ext(pngA),
+ gsub("#", "", col)))
> pngC
[1] "images/ucsf_logo_K_OTL_9,1200dpi,88bbbb,transparent.png"
Copyright Henrik Bengtsson (2014) - Powered by RSP