"Saya ingin mengubah DPI dengan Imagemagick tanpa mengubah ukuran byte sebenarnya dari data gambar."
Ini sama sekali tidak mungkin!
Karena:
more "Dots per Inch"
<==> more pixels per area
<==> more total pixels per image
<==> more total bytes per image
Anda juga tampaknya tidak mengerti apa sebenarnya DPI:
- Ini adalah nilai yang sepenuhnya abstrak yang mendapatkan nilai praktis hanya dalam konteks mengetahui juga ukuran absolut dari hasil cetak atau render di layar atau monitor:
- Anda dapat 'mencetak' gambar 72x72 piksel yang sama pada persegi lebar 1 inci: hasil cetak akan memiliki resolusi
72dpi
.
- Anda dapat 'mencetaknya' pada selebar 1/4 inci juga: maka hasil cetak akan memiliki resolusi
288dpi
.
- ( Catatan: Jika Anda 'mencetak'
288dpi
pada 1 inci persegi, itu tidak lagi gambar yang sama: itu akan mengalami beberapa ekstrapolasi melalui driver printer atau mekanisme penyaringan lainnya, dan itu akan menjadi gambar 288x288 piksel bukannya gambar 72x72 piksel ... )
- Kedua cetakan akan memiliki informasi gambar yang sama - gambar 288dpi tidak akan tiba-tiba memiliki lebih banyak.
Jika Anda ingin mencetak asli 72x72 pixel image sebagai 1 inci lebar persegi, tetapi pada 288dpi
, maka Anda harus rescale gambar (dalam hal ini skala itu). Untuk setiap 1 piksel dalam dokumen asli, Anda memerlukan 4 piksel gambar baru yang ditingkatkan. Sekarang ada berbagai algoritma yang dapat digunakan untuk menghitung nilai warna apa yang seharusnya dimiliki 4 piksel ini (3 di antaranya piksel baru):
- Anda bisa memberi mereka sama dengan piksel asli (yang merupakan algoritma yang sangat "mentah",
- atau Anda bisa melakukan rata-rata nilai warna piksel asli dengan nilai warna piksel tetangga.
Bagaimanapun Anda membuat gambar yang lebih besar yang terdiri dari 288 baris piksel yang masing-masing tingginya 288 piksel (288x288 piksel).
Apa yang dilakukan Gimp untuk Anda saat Anda menelusuri "Gambar -> Ukuran Pencetakan": ini menyederhanakan proses penghitungan ulang perubahan yang diperlukan dalam ukuran piksel absolut, menjadikannya lebih ramah pengguna. Untuk tujuan ini...
- ... pertama-tama menanyakan kepada Anda tentang DPI karena printer yang diberikan tidak dapat mengubah resolusi pencetakannya secara sewenang-wenang (beberapa dapat menawarkan tidak hanya satu, tetapi mungkin bahkan 2 atau 3 resolusi berbeda). Jadi ia bertanya pada Anda di mana resolusi yang ingin Anda cetak. Itu info pertama.
- ... lalu ia juga meminta informasi kedua: pada ukuran berapa (dalam
cm
, mm
atau inch
) hasil cetak akan muncul di atas kertas.
Menurut kedua informasi ini, Gimp kemudian menghitung jumlah piksel yang harus digunakan (ekstrapolasi dari jumlah piksel asli) untuk mengisi ruang yang diminta pada resolusi yang diminta.
Namun, memperbesar gambar raster dengan membuatnya mengandung lebih banyak piksel tidak menambah info nyata ke dalamnya, dan itu hanya menambah 'kualitas' untuk itu yang fiktif. Ini mungkin terlihat lebih bagus di mata manusia jika algoritme peningkatan Anda adalah yang 'baik'. Dan itu akan terlihat jelek, jika Anda hanya menggandakan, treble atau quadruple piksel yang ada, seperti beberapa algoritma sederhana.
Untuk gambar raster,
pengaturan DPI hanya relevan dalam konteks pencetakan atau tampilan . Karena printer atau monitor telah memberikan, memperbaiki resolusi. Untuk itu adalah info yang hanya ...
- ... driver printer atau
- ... aplikasi pengolah gambar yang mendukung pencetakan
perlu tahu.
Dan dokumentasi ImageMagick ini adalah dalam perjanjian penuh dengan saya:
-density width
-density widthxheight
Atur resolusi horizontal dan vertikal dari suatu gambar untuk dirender ke perangkat.
Untuk gambar vektor atau format file
(seperti PDF atau PostScript) pengaturan DPI sangat penting dalam konteks rasterisasi . DPI yang lebih tinggi akan mentransfer lebih banyak informasi gambar ke dalam format raster dan karenanya menyimpan lebih banyak detail dari kualitas asli yang sebenarnya. Saat mengonversi gambar vektor dari ukuran tertentumm
,cm
atauinch
menjadi raster dengan DPI yang lebih tinggi akan langsung diterjemahkan ke dalam jumlah piksel total yang lebih tinggi dalam gambar.
ImageMagick juga tidak mendukung 'pencetakan'. Sebaliknya, hanya ImageMagick ...
- ... mengonversi file dari format raster yang diberikan ke format raster lainnya;
- ... atau itu mengurangi atau meningkatkan gambar raster;
- ... atau itu mengubah nilai warna sesuai dengan algoritma tertentu;
- ... atau itu memotong gambar, overlay mereka, membalikkan mereka, mirror mereka;
- ...dan apa tidak....
... tetapi untuk mencetak gambar yang dimanipulasi, Anda perlu menggunakan program lain.
Beberapa format gambar (TIFF, PNG, ...) mendukung penyimpanan pengaturan DPI secara internal dalam meta data mereka.
Tapi ini tidak lebih dari atribut 'petunjuk' yang tidak mengubah gambar raster yang mendasarinya. Itulah alasan mengapa Anda membuat penemuan ini:
"Ketika saya memeriksa file itu tetap sama."
'Petunjuk' ini mungkin dapat secara otomatis dievaluasi oleh driver printer atau dengan program pembuatan halaman seperti LaTeX. Dengan tidak adanya 'petunjuk' DPI tersebut (atau jika entah bagaimana mereka tidak menampilkan diri mereka seperti yang diharapkan LaTeX), LaTeX masih harus dapat diperintahkan untuk membuat gambar yang diberikan pada halaman seperti yang diharapkan seseorang. to - ini membutuhkan beberapa kode LaTeX yang lebih eksplisit di sekitar gambar!
Beberapa format gambar lainnya (JPEG (?), BMP, ...) bahkan tidak mendukung penyimpanan petunjuk DPI pada data meta internal mereka.
Jadi Gimp hanya mendukung apa yang Anda lakukan dengan "Gambar -> Ukuran Pencetakan" karena ingin mencetak gambar. Dengan ImageMagick Anda tidak dapat mencetak.
Terus lakukan apa yang ingin Anda lakukan dengan Gimp ketika Anda mencetak. Itu tidak masuk akal dengan ImageMagick.
Lihat juga cuplikan dokumentasi IM tambahan ini , yang menjelaskan topik yang sama dengan kata-kata yang berbeda.
Jadi yang tersisa adalah ini:
- Jika Anda 'memanipulasi' gambar Anda dengan Gimp, dan kemudian menyematkan hasilnya di LaTeX, halaman seperti yang Anda harapkan.
- Jika Anda 'memanipulasi' gambar Anda dengan ImageMagick, dan kemudian menyematkan hasilnya di LaTeX, halaman tersebut tidak seperti yang Anda harapkan.
Harap berikan yang berikut untuk menyelesaikan masalah di atas:
- versi persis instalasi ImageMagick Anda (hasil lengkap dari
convert -version
dan convert -list configure
);
- (tautan ke) gambar sampel asli;
- (tautan ke) gambar yang sama dimanipulasi oleh Gimp;
- (tautan ke) gambar yang sama dimanipulasi oleh ImageMagick.
Dengan cara ini kami dapat membantu menyelesaikan masalah.
Tetapi perhatikan: ini adalah masalah yang berbeda dari apa yang diminta subjek / tajuk utama Anda saat ini: "Saya ingin mengubah DPI dengan Imagemagick tanpa mengubah ukuran byte sebenarnya dari data gambar"
Memperbarui
Karena masih belum jelas bagi beberapa pembaca apa yang saya catat di atas, berikut adalah satu lagi upaya ...
Apa pun yang dicatat sebagai 'Resolusi' atau 'Kepadatan' di dalam file gambar, adalah atribut metadata . Ini tidak mempengaruhi jumlah piksel aktual yang dijelaskan oleh file dan sama sekali tidak relevan dalam hal ini. Ini hanya petunjuk bahwa perangkat pencetakan atau rendering atau aplikasi mungkin atau tidak dapat mengikuti saat mencetak, menampilkan atau menampilkan gambar.
Untuk tujuan ini, hanya beberapa nomor yang disimpan dalam file gambar. Angka-angka ini memberi tahu perangkat keluaran seperti printer dan menampilkan berapa banyak titik (atau piksel) per inci gambar yang harus ditampilkan. Untuk format vektor seperti PostScript, PDF, MWF, dan SVG, ia memberi tahu skala piksel untuk menggambar koordinat dunia nyata yang digunakan oleh gambar.
Salah satu contoh, di mana nilai resolusi yang dicatat oleh ImageMagick di dalam metadata gambar TIDAK dihormati oleh aplikasi adalah Adobe Photoshop. Photoshop menyimpan petunjuknya tentang resolusi cetak atau tampilan yang diinginkan dalam profil berpemilik yang bernama 8bim . ImageMagick tidak menyentuh profil ini, bahkan ketika diminta untuk menulis perubahan resolusi menjadi metadata file gambar. Sebaliknya, Photoshop, akan mengabaikan semua petunjuk resolusi yang disimpan oleh ImageMagick di bidang metadata standar yang ditentukan untuk tujuan ini segera setelah melihat profil 8bim -nya sendiri .
OP seharusnya memilih judul:
- 'Saya ingin mengubah DPI (petunjuk resolusi metadata) dengan ImageMagick tanpa mengubah jumlah piksel aktual dalam gambar'
untuk menghindari semua kesalahpahaman ...
^
ikon kecil di sebelah kiri jawabannya), bukan hanya' menerimanya 'segera setelah Anda memiliki reputasi pribadi yang cukup (saya pikir Anda perlu +15) ...