NIM : 220605110107

Universitas : Universitas Islam Negeri Maulana Malik Ibrahim Malang

Jurusan : Teknik Informatika

Pada artikel sebelumnya menyangkut gambar tunggal. Namun semua fungsi dalam sulap telah divektorisasi untuk mendukung bekerja dengan lapisan, komposisi, atau animasi.

Metode dasar standar [ [[, c()dan length()digunakan untuk memanipulasi vektor gambar yang kemudian dapat diperlakukan sebagai lapisan atau bingkai.

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
# Download earth gif and make it a bit smaller for vignette
earth <- image_read("https://jeroen.github.io/images/earth.gif") %>%
  image_scale("200x") %>%
  image_quantize(128)

length(earth)
## [1] 44
earth

rev(earth) %>% 
  image_flip() %>% 
  image_annotate("meanwhile in Australia", size = 20, color = "white")

rev(earth) %>% 
  image_flip() %>% 
  image_annotate("meanwhile in Australia", size = 20, color = "white")

Lapisan Kita dapat menumpuk lapisan di atas satu sama lain seperti yang kita lakukan di Photoshop:

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

Mosaik mencetak gambar di atas satu sama lain, memperluas kanvas keluaran sedemikian rupa sehingga semuanya pas :

image_mosaic(img)

Perataan menggabungkan lapisan menjadi satu gambar yang memiliki ukuran gambar 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')

Menggabungkan Menambahkan berarti hanya menempatkan bingkai di samping satu sama lain:

image_append(image_scale(img, "x200"))

Gunakan stack = TRUEuntuk memposisikannya di atas satu sama lain:

image_append(image_scale(img, "100"), stack = TRUE)

Menulis memungkinkan untuk menggabungkan dua gambar pada posisi tertentu:

bigdatafrink <- image_scale(image_rotate(image_background(frink, "none"), 300), "x200")

frinkmeme <- 
  image_composite(image_scale(bigdata, "x400"), bigdatafrink, offset = "+180+100")

image_annotate(frinkmeme, "Adios", size = 60, color = "white",location = "+175+270", degree =320, boxcolor = "black")