Nothing
#'@title Make Vignette Overlay
#'
#'@description Makes an overlay to simulate vignetting in a camera
#'
#'@param width Width of the image.
#'@param height Height of the image.
#'@param intensity Default `0.4`. `1` is max intensity, `0` is min.
#'@param radius Default `NULL`. Max of height or width, divided by 2.
#'@param radius_multiplier Default `1.3`.
#'@param color Default `black`.
#'@keywords internal
make_vignette_overlay = function(width, height, intensity=0.3, radius_multiplier = 1.3,
radius=NULL,color = "#000000") {
value = array(0, dim = c(floor(width*radius_multiplier),floor(height*radius_multiplier),4))
hex_color = convert_color(color,as_hex = TRUE)
color = convert_color(color)
value[,,4] = gen_ellipse(intensity, floor(width*radius_multiplier), floor(height*radius_multiplier))
value[,,1] = color[1]
value[,,2] = color[2]
value[,,3] = color[3]
tempcircle = tempfile(fileext = ".png")
png::writePNG(value,tempcircle)
imageval = magick::image_read(tempcircle)
if(radius_multiplier >= 1) {
imageval |>
magick::image_blur(radius=radius/2, sigma = radius/4) |>
magick::image_crop(sprintf("%ix%i+%i+%i",
height,
width,
floor((height*radius_multiplier-height)/2),
floor((width*radius_multiplier-width)/2))) |>
magick::image_write(tempcircle)
} else {
imageval |>
magick::image_border(geometry = sprintf("%ix%i",(height-floor(height*radius_multiplier))/2,(width-floor(width*radius_multiplier))/2), color=hex_color) |>
magick::image_blur(radius=radius/2, sigma = radius/4) |>
magick::image_write(tempcircle)
}
return(tempcircle)
}
Any scripts or data that you put into this service are public.
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.