Mulai April 2020, bandithijo.com akan menggunakan GitHub subdomain menjadi bandithijo.github.io. Penggunaan domain .com tidak sejalan dengan cara pandang saya terhadap sebuah blog, dimana blog harus bisa tetap hidup tanpa saya. Terima kasih (^_^) (bandithijo, 2020/03/25) ●

Membuat Hasil ScreenShot pada GNU/Linux seperti Milik macOS

Ditulis: 2020/07/28
Tips

بسم الله الرحمن الرحيم

Sekenario Masalah

Seperti apa sih bang, hasil screenshot seperti yang ada pada macOS itu?

Kebetulan sejak 2009 sampai 2014 akhir, saya menggunakan macOS (dulu namanya OSX).

Saya juga beberapa menulis konten blog menggunakan macOS dan cukup sering mengambil gambar screenshot. Seperti yang ada di blog post yang ini:

  1. Aplikasi Download Alternatif untuk OSX dengan JDownloader

  2. Memperbaiki Trash OSX

  3. Memory Cleaner untuk OSX

Kira-kira seperti ini hasil screenshot window aplikasi pada macOS.

gambar_1

Pemecahan Masalah

Pastinya tools yang diperlukan adalah ImageMagick.

Kira-kira begini command formula nya.

$ convert gambar.png \( +clone -background black -shadow 50x10+0+10 \) \
+swap -background none -layers merge +repage gambar.png; \
convert gambar.png -bordercolor none -border 30 gambar.png

Misal, saya punya gambar hasil screenshot seperti ini:

gambar_2

Kemudian, saya jalankan command dari ImageMagick di atas.

Hasilnya akan seperti ini:

gambar_3

Menggunakan -shadow 50x10+0+10

gambar_4

Menggunakan -shadow 50x20+0+20

Tinggal teman-teman sesuaikan dengan preferensi untuk attribute -shadow nya.

Kalau saya lebih suka yang 50x10+0+10, karena shadownya tidak terlalu beleber keluar.

Tambahan

Saya malas menuliskan command ImageMagick tersebut berulang-ulang.

Jadi, saya putuskan untuk membuat Ruby script dimana targetnya adalah file terakhir yang ada pada direktori screenshot saya.

Karena setiap sehabis membuat screenshot, gambar akan berada pada paling akhir dari direktori screenshot.

File inilah yang akan ditangkap oleh Ruby script dan dipermak.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#!/usr/bin/env ruby

# Please write your screenshot dir with full path. Later, I'll improve this.
screenshot_dir = "/home/bandithijo/pic/ScreenShots"
Dir.chdir(screenshot_dir)
ss_dir = Dir.pwd
list_file = %w(ls -p | grep -v /)
files = list_file.split(" ")
target_file = files.last
target_file_mod = files.last.split("").insert(-5, 'X').join

%x(convert #{target_file} \\( +clone -background black -shadow 50x10+0+10 \\) \
+swap -background none -layers merge +repage #{target_file_mod}; \
convert #{target_file_mod} -bordercolor none -border 30 -set gamma 2.2 \
#{target_file_mod})

puts "SS_DIR: #{ss_dir}"
puts "SOURCE: #{target_file}
TARGET: #{target_file_mod}
FRAMING SUCCESS!"

Perhatikan pada baris ke 13, attribute -shadow inilah yang teman-teman perlu ubah, apabila ingin menyesuaikan bentuk dari shadow.

Kalau berhasil dijalankan, outputnya akan seperti ini:

SS_DIR: /home/bandithijo/pic/ScreenShots
SOURCE: Screenshot_2020-07-28_19-3-51.png
TARGET: Screenshot_2020-07-28_19-3-51X.png
FRAMING SUCCESS!

Ruby script tersebut akan membuat file baru dengan akhiran X yang ada dibelakang nama dari file screenshot target.


Mantap!!!

Saya rasa hanya ini yang dapat saya tuliskan saat ini.

Mudah-mudahan dapat bermanfaat untuk teman-teman.

Terima kasih.

(^_^)

Referensi

  1. Create MacOS style screenshots with drop shadow using Imagemagick
    Diakses tanggal: 2020/07/28

  2. imagemagick.org/script/command-line-options.php#shadow
    Diakses tanggal: 2020/07/28

  3. PNG image becomes too bright
    Diakses tanggal: 2020/08/03

Penulis

bandithijo

BanditHijo adalah nama pena saya – meminjam istilah keren dari para penulis. Teman-teman menyebut saya sebagai GNU/Linux Enthusiast. Saya memang gemar mengutak-atik sistem operasi ini. Bukan karena hobi tapi karena saya perlu untuk menggunakannya. Hehe.

- Rizqi Nur Assyaufi

Berlangganan via Email

Jangan sampai ketinggalan kabar dan info terbaru mengenai BanditHijo (R)-Chive.
Ayo bergabung!

d9fa304ba660ef3df99f5ad20c41927b51e6ff4b