⚠️ Ini adalah situs terjemahan tidak resmi dan tidak berafiliasi dengan ImageMagick Studio LLC. Untuk informasi resmi, lihat halaman asli (https://usage.imagemagick.org/backgrounds/index.html).

Contoh penggunaan ImageMagick -- latar belakang

Kata pengantar dan indeks contoh penggunaan ImageMagick Ini adalah tabel penerapan berbagai transformasi terhadap beberapa kanvas 'acak', yang memperlihatkan cara menghasilkan latar belakang acak yang menarik pada ukuran berapa pun yang diinginkan, entah sebagai satu gambar besar, entah sebagai tile latar belakang untuk halaman web. Tabel ini dimulai dari metode yang dipakai untuk membuat gambar 'acak' awal, yang darinya semua gambar lain di sini dihasilkan. Cukup sisipkan 'transformasi' gambar yang bersangkutan ke dalam perintahnya, untuk mengubah gambar mentah itu dengan magick menjadi sesuatu yang mirip dengan yang ditampilkan. Dari situ berbagai pengaturan (setting) yang ada dapat disesuaikan sendiri sampai menghasilkan persis jenis gambar latar belakang yang dikehendaki. Pastikan membaca catatan di bagian akhir sebelum mencoba membuat contoh sendiri. Dan silakan kirimkan lewat email variasi menarik apa pun yang Anda temukan. Gambar masukan :- generator, transformasi, dan pascapemrosesan |
Hasil gambar yang ditampilkan di sini dibuat dengan operator transformasi null "-noop"
Plasma fraktal (gambar kanvas yang tidak bisa di-tile)
|

  magick -size 120x120  plasma:fractal fractal.png
  magick fractal.png   _{..transform..}_ \
           -shave 20x20 +repage  -auto_level  _{result}_

[IM Output]
Noise acak (gambar latar belakang yang bisa di-tile)
|

  magick -size 80x80 xc: +noise Random noise.png
  magick noise.png -virtual-pixel tile  _{..transform..}_ \
          -auto_level  _{result}_

| [IM Output]
Tile heksagonal acak (gambar latar belakang tile heksagonal)
|

  magick -size 50x80 xc: +noise Random -write mpr:rand \
           -extent 100x80   -page +50-40 mpr:rand \
           -page +50+40 mpr:rand -flatten  hextile.png
  magick hextile.png -virtual-pixel tile  _{..transform..}_ \
          -auto_level    _{result}_

| | [IM Output]
|
Transformasi dasar
blur_raw (tanpa -auto-level di akhir) |

  -blur 0x1

[Fractal] | [Noise] | [Noise]
blur_1 |

  -blur 0x1

[Fractal] | [Noise] | [Noise]
blur_3 |

  -blur 0x3

[Fractal] | [Noise] | [Noise]
blur_5 |

  -blur 0x5

[Fractal] | [Noise] | [Noise]
blur_10 |

  -blur 0x10

[Fractal] | [Noise] | [Noise]
intensity |

  -blur 0x10  -colorspace Gray

[Fractal] | [Noise] | [Noise]
channel |

  -blur 0x10  -fx G

[Fractal] | [Noise] | [Noise]
hues |

  -blur 0x10 -auto-level -separate -background white \
     -compose ModulusAdd -flatten -channel R -combine +channel \
     -set colorspace HSB -colorspace RGB

[Fractal] | [Noise] | [Noise]
Transformasi shade
shade_raw (tanpa -auto-level di akhir) |

  -shade 120x45

[Fractal] | [Noise] | [Noise]
shade |

  -shade 120x45

[Fractal] | [Noise] | [Noise]
shade_dimmed (tanpa -auto-level di akhir) |

  -shade 120x45 -auto-level -fill grey -colorize 40%

[Fractal] | [Noise] | [Noise]
shade_1 |

  -blur 0x1 -shade 120x45

[Fractal] | [Noise] | [Noise]
shade_2 |

  -blur 0x2 -shade 120x45

[Fractal] | [Noise] | [Noise]
shade_5 |

  -blur 0x5 -shade 120x45

[Fractal] | [Noise] | [Noise]
shade_10 |

  -blur 0x10 -fx G -shade 120x45

[Fractal] | [Noise] | [Noise]
Transformasi emboss
emboss_1 |

  -blur 0x5  -emboss 1

[Fractal] | [Noise] | [Noise]
emboss_1g |

  -blur 0x5  -emboss 1  -fx G

[Fractal] | [Noise] | [Noise]
emboss_0s |

  -blur 0x3  -emboss .5 -shade 120x45

[Fractal] | [Noise] | [Noise]
emboss_1s |

  -blur 0x5  -emboss 1  -shade 120x45

[Fractal] | [Noise] | [Noise]
emboss_1gs |

  -blur 0x5  -emboss 1  -fx G  -shade 120x45

[Fractal] | [Noise] | [Noise]
emboss_5gs |

  -blur 0x10 -emboss 5  -fx G  -shade 120x45

[Fractal] | [Noise] | [Noise]
Transformasi tepi
charcoal |

  -blur 0x2  -charcoal 10 -negate

[Fractal] | [Noise] | [Noise]
charcoal_10s |

  -blur 0x2  -charcoal 10 -negate -shade 120x45

[Fractal] | [Noise] | [Noise]
charcoal_1s |

  -blur 0x2  -charcoal 1  -negate -shade 120x45

[Fractal] | [Noise] | [Noise]
edges |

  -blur 0x2  -edge 10

[Fractal] | [Noise] | [Noise]
edge_grey |

  -blur 0x2  -edge 10 -fx G

[Fractal] | [Noise] | [Noise]
mesas |

  -blur 0x2  -edge 10 -fx G -shade 120x45

[Fractal] | [Noise] | [Noise]
Transformasi penghasil garis
lines |

  -blur 0x10 -emboss 4 -edge 1

[Fractal] | [Noise] | [Noise]
loops |

  -blur 0x10 -edge 15  -edge 1  -blur 0x1

[Fractal] | [Noise] | [Noise]
engrave_loops |

  -blur 0x10 -edge 15  -edge 1  -blur 0x1 -fx R+B+G -shade 280x45

[Fractal] | [Noise] | [Noise]
engrave_loop |

  -blur 0x10 -edge 15  -edge 1  -blur 0x1 -fx G -shade 280x45

[Fractal] | [Noise] | [Noise]
color_contours |

  -blur 0x10 -normalize -fx 'sin(u*4*pi)*100' -edge 1 -blur 0x1

[Fractal] | [Noise] | [Noise]
contours |

  -blur 0x10 -normalize -fx 'sin(g*4*pi)*100' \
     -edge 1 -blur 0x1 -shade 280x45

[Fractal] | [Noise] | [Noise]
Transformasi blob bertekstur kompleks
(memakai efek '-edge 1' yang aneh)
blobs |

  -blur 0x10 -edge 1

[Fractal] | [Noise] | [Noise]
blobs_grey |

  -blur 0x10 -edge 1 -fx '(R+G+B)/3'

[Fractal] | [Noise] | [Noise]
pits |

  -blur 0x10 -edge 1 -fx G -shade 280x45

[Fractal] | [Noise] | [Noise]
ridges |

  -blur 0x10 \( +clone -negate \) -edge 1 -fx u.G+v.G -shade 280x45

[Fractal] | [Noise] | [Noise]
mottled |

  -blur 0x10 -write mpr:save -negate -edge 1 -negate -fx G \
     \( mpr:save -edge 1 -fx G \) -shade 280x45 -evaluate-sequence mean

[Fractal] | [Noise] | [Noise]
Transformasi paint
paint_raw10 (tanpa -auto-level di akhir) |

  -paint 10

[Fractal] | [Noise] | [Noise]
paint_areas |

  -paint 10  -blur 0x5  -paint 10

[Fractal] | [Noise] | [Noise]
paint_raw10s |

  -paint 10  -shade 120x45

[Fractal] | [Noise] | [Noise]
paint_8 |

  -blur 0x5  -paint 8

[Fractal] | [Noise] | [Noise]
paint_8s |

  -blur 0x5  -paint 8  -shade 120x45

[Fractal] | [Noise] | [Noise]
paint_3 |

  -blur 0x10 -paint 3

[Fractal] | [Noise] | [Noise]
paint_3s |

  -blur 0x10 -paint 3  -shade 120x45

[Fractal] | [Noise] | [Noise]
paint_3d |

  -blur 0x10 -paint 3 \( +clone -shade 120x45 \) \
     +swap  -compose overlay -composite

[Fractal] | [Noise] | [Noise]
Transformasi gradien
levels (tanpa -auto-level di akhir) |

  -blur 0x12 -fx intensity -normalize \
     -size 1x9 gradient:navy-lavender \
     -interpolate integer -fx 'v.p{0,G*(v.h-1)}'

[Fractal] | [Noise] | [Noise]
levels_3d (tanpa -auto-level di akhir) |

  -blur 0x12 -fx intensity -normalize \
     -size 1x9 gradient:navy-lavender \
     -interpolate integer -fx 'v.p{0,G*(v.h-1)}' \
     \( +clone -shade 120x45 -normalize \) \
     -compose overlay -composite

[Fractal] | [Noise] | [Noise]
zebra |

  -blur 0x12 -normalize \
     -size 1x19   pattern:gray50   -fx 'v.p{0,G*(v.h-1)}'

[Fractal] | [Noise] | [Noise]
midlevel |

  -blur 0x12 -normalize \
     \( -size 1x9 xc: -draw 'color 0,4 point' -negate \) \
     -fx 'v.p{0,G*(v.h-1)}'

[Fractal] | [Noise] | [Noise]
edged_level (tanpa -auto-level di akhir) |

  -blur 0x12 -normalize \
     \( -size 1x9 xc: -draw 'color 0,4 point' \) \
     -fx '(.6+.2*v.p{0,G*(v.h-1)})' \
     \( +clone -normalize -edge 1 \)  -fx 'u+v'

[Fractal] | [Noise] | [Noise]
layered_levels (tanpa -auto-level di akhir) |

  -blur 0x12 -normalize \
     \( -size 1x9 xc: -draw 'color 0,4 point' \) \
     -fx '(.5+.3*v.p{0,u*(v.h-1)})' \
     \( +clone -normalize -edge .3 -fx 'R+G+B' \) \
     -fx 'intensity+v'  -fill skyblue -tint 100

[Fractal] | [Noise] | [Noise]
Lain-lain
filaments |

  -blur 0x5 -normalize -fx g \
     -sigmoidal-contrast 15x50% -solarize 50%

[Fractal] | [Noise] | [Noise]

Jika Anda punya atau menemukan generator latar belakang atau transformasi gambar yang bagus, beri tahu saya agar bisa ditambahkan di sini untuk dibagikan kepada yang lain.

Catatan penting terakhir

Kedua gambar noise acak itu, karena begitu 'acak', bisa di-tile, dan kita memakai "-virtual-pixel" untuk memastikan keduanya tetap bisa di-tile selama transformasi berlangsung. Namun gambar plasma sejak awal tidak bisa di-tile, jadi dipakai versi yang diperbesar lalu tepinya dipangkas dengan "-shave" sesudahnya, untuk menghilangkan efek tepi yang tidak diinginkan dari banyak operasi. Teknik ini dibahas lebih rinci di Memodifikasi gambar tile. Perhatikan bahwa "-auto-level" di akhir diterapkan pada sebagian besar gambar untuk memperkuat kontras hasilnya, kecuali bila transformasinya ditandai tidak memerlukannya, demi mempertahankan pewarnaan atau pembayangan yang muncul dari transformasi itu. Karena banyak transformasi gambar seperti "-blur", "-emboss", dan "-edge" merupakan transformasi grayscale, semuanya bekerja pada ketiga kanal warna secara sepenuhnya terpisah satu sama lain. Akibatnya, pada banyak gambar di atas, hasilnya tampak seperti tiga gambar terpisah yang ditimpakan lalu di-shade. Contoh terakhir, "layered_levels", dirancang untuk bekerja pada ketiga level itu sekaligus, tetapi tetap memisahkannya, sampai langkah terakhir ketika ketiganya dijumlahkan dan diberi warna tint. Efek rangkap tiga ini dapat dihilangkan dengan menerapkan operasi grayscale di awal, atau dengan mengekstrak satu kanal saja setelah selesai. Biasanya saya mengekstrak kanal 'green' atau 'G' karena kanal itu umumnya memang paling kuat pada gambar grayscale, meskipun kanal mana pun dari ketiganya bisa dipakai.