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")