library(magick)
## Warning: package 'magick' was built under R version 4.2.3
## Linking to ImageMagick 6.9.12.3
## Enabled features: cairo, freetype, fftw, ghostscript, heic, lcms, pango, raw, rsvg, webp
## Disabled features: fontconfig, x11
fungsi dalam library magick telah divektorisasi agar dapat mendukung fungsi lainnya seperti lapisan, komposisi, atau animasi.
download gambar gif bumi dan membuat sedikit lebih kecil
earth <- image_read("https://jeroen.github.io/images/earth.gif") %>%
image_scale("200x") %>%
image_quantize(128)
length(earth)
## [1] 44
earth
head(image_info(earth))
## format width height colorspace matte filesize density
## 1 GIF 200 200 RGB FALSE 0 72x72
## 2 GIF 200 200 RGB TRUE 0 72x72
## 3 GIF 200 200 RGB TRUE 0 72x72
## 4 GIF 200 200 RGB TRUE 0 72x72
## 5 GIF 200 200 RGB TRUE 0 72x72
## 6 GIF 200 200 RGB TRUE 0 72x72
rev(earth) %>%
image_flip() %>%
image_annotate("meanwhile in Australia", size = 20, color = "white")
Layer(Lapisan): Dalam magick kita dapat menumpuk layer(Lapisan) seperti yang kita lakukan di aplikasi graphic design
bigdata <- image_read('https://jeroen.github.io/images/bigdata.jpg')
frink <- image_read("https://jeroen.github.io/images/frink.png")
logo <- image_read("https://jeroen.github.io/images/Rlogo.png")
img <- c(bigdata, logo, frink)
img <- image_scale(img, "300x300")
image_info(img)
## format width height colorspace matte filesize density
## 1 JPEG 300 225 sRGB FALSE 0 72x72
## 2 PNG 300 232 sRGB TRUE 0 72x72
## 3 PNG 148 300 sRGB TRUE 0 72x72
fungsi dari image_mosaic adalah mencetak gambar di atas satu sama lain, dan memperluas kanvas agar gambar menjadi pas
image_mosaic(img)
Perataan menggabungkan lapisan menjadi satu gambar yang memiliki ukuran gambar lapisan pertama:
image_flatten(img)
Perataan dan mosaik memungkinkan untuk menentukan operator komposit alternatif:
image_flatten(img, 'Add')
image_flatten(img, 'Modulate')
image_flatten(img, 'Minus')
KOMBINASI Menambahkan gambar dam menaruhnya disamping gambar sebelumnya
image_append(image_scale(img, "x200"))
stack = true, untuk menempatkan gambar secara vertikal
image_append(image_scale(img, "100"), stack = TRUE)
menggabungkan dua gambar pada posisi tertentu:
bigdatafrink <- image_scale(image_rotate(image_background(frink, "none"), 300), "x200")
image_composite(image_scale(bigdata, "x400"), bigdatafrink, offset = "+180+100")