"Görüntü verilerinin gerçek bayt boyutunu değiştirmeden DPI'yı Imagemagick ile değiştirmek istiyorum."
Bu tamamen imkansız!
Çünkü:
more "Dots per Inch"
<==> more pixels per area
<==> more total pixels per image
<==> more total bytes per image
Ayrıca, gerçekte DPI'nın ne olduğunu anlamış görünmüyorsunuz:
- Çıktıların mutlak boyutlarını bilmek veya ekranda veya ekranda göstermek için yalnızca pratik bir değer elde eden tamamen soyut bir değerdir:
- Aynı 72x72 piksel görüntüyü 1 inç genişliğindeki bir karede 'yazdırabilirsiniz': çıktının çözünürlüğü olacaktır
72dpi
.
- Ayrıca 1/4 inç genişliğindeki bir kareye 'yazdırabilirsiniz': daha sonra çıktının çözünürlüğü olacaktır
288dpi
.
- ( Not:
288dpi
1 inç kareye 'yazdırırsanız' , artık aynı görüntü olmaz: yazıcı sürücüsü veya başka bir filtreleme mekanizması aracılığıyla bazı ekstrapolasyonlardan geçecek ve bunun yerine 288x288 piksel görüntü olacak 72x72 piksel görüntü ... )
- Her iki çıktı aynı görüntü bilgisine sahip olacak - 288dpi görüntüde birdenbire fazla olmayacak.
Orijinal 72x72 piksel görüntüyü 1 inç genişliğinde bir kare olarak yazdırmak istiyorsanız, ancak adresinde 288dpi
, o zaman görüntüyü yeniden ölçeklendirmeniz gerekir (bu durumda yukarı ölçeklendirme). Orijinaldeki her 1 piksel için, yeni, yükseltilmiş görüntünün 4 pikseline ihtiyacınız olacaktır. Şimdi, bu 4 pikselin (3 tanesi yeni pikselin) hangi renk değerine sahip olacağını hesaplamak için kullanılabilecek farklı algoritmalar var:
- Onlara orijinal pikselin aynısını verebilirsin (ki bu çok "ham" bir algoritmadır,
- veya orijinal pikselin renk değerinin bir miktarını komşu piksellerin renk değerleriyle yapabilirsiniz.
Her durumda, 288 piksel yüksekliğinde (288x288 piksel) 288 piksel satırdan oluşan daha büyük bir görüntü oluşturuyorsunuz.
“Picture -> Printing Size” uygulamasından geçtiğinizde Gimp sizin için neler yapıyor: gerekli değişiklikleri mutlak piksel boyutlarında yeniden hesaplama işlemini basitleştirerek kullanıcı dostu hale getiriyor. Bu amaç için...
- ... önce size DPI hakkında bilgi verir çünkü belirli bir yazıcı baskı çözünürlüğünü keyfi olarak değiştiremez (bazıları sadece bir tane değil, belki 2 veya 3 farklı çözünürlük önerebilir). Böylece hangi çözünürlükte yazdırmak istediğinizi sorar. Bu ilk bilgidir.
- ... o zaman da bilgi ikinci parça için sorar: hangi boyutu (en
cm
, mm
ya inch
) çıktı kağıdına görünmelidir.
Bu iki bilgi bilgisine göre, Gimp, istenen boşluğu istenen çözünürlükte doldurmak için kullanması gereken toplam piksel sayısını (orijinal piksel sayısından ekstrapolasyon) hesaplar.
Bununla birlikte, daha fazla piksel içererek raster bir görüntüyü büyütmek, ona gerçek bilgi katmaz ve yalnızca kurgusal olana 'kalite' ekler. Bu olabilir bakmak algoritma yukarı ölçekli bir 'iyi' biriyse insan gözünün daha güzel. Ve bazı basit algoritmalar gibi, mevcut pikselleri ikiye, tiz veya dört katına çıkarırsanız, çirkin görünecektir.
Raster görüntüler için,
DPI ayarı yalnızca yazdırma veya görüntüleme bağlamında geçerlidir. Yazıcılar veya monitörler verdikleri için sabit çözünürlükte. Bunun için bilgi sadece ...
- ... bir yazıcı sürücüsü veya
- ... yazdırmayı destekleyen bir görüntü işleme uygulaması
bilmem gerek.
Ve ImageMagick'in dokümantasyonu benimle tam uyuşuyor :
-density width
-density widthxheight
Aygıtlara dönüştürmek için görüntünün yatay ve dikey çözünürlüğünü ayarlayın .
Vektör görüntüleri veya dosya formatları için
(PDF veya PostScript gibi), DPI ayarı,bunları rasterleştirme bağlamında son derece önemlidir. Daha yüksek bir DPI, daha fazla resim bilgisini raster formatına aktaracak ve böylece gerçek orijinal kaliteden daha fazla ayrıntı koruyacaktır. Belirli bir büyüklükteki bir vektör görüntüsünü dönüştürürkenmm
,cm
ya dainch
daha yüksek bir DPI ile raster doğrudan görüntüdeki toplam piksel daha yüksek bir sayı olarak düşünülebilecektir.
Ayrıca, ImageMagick 'yazdırmayı' desteklemez. Bunun yerine, yalnızca ImageMagick ...
- ... dosyaları belirli bir raster biçiminden diğer raster biçimlerine dönüştürür;
- ... veya raster görüntüleri ölçeklendirir veya ölçeklendirir;
- ... veya belirli bir algoritmaya göre renk değerlerini değiştirir;
- ... veya görüntüleri kırpar, örter, ters çevirir, yansıtır;
- ... ve ne-değil ....
... ancak manipüle edilmiş görüntüleri basmak için farklı bir program kullanmanız gerekir.
Bazı görüntü formatları (TIFF, PNG, ...) bir DPI ayarının dahili olarak meta verilerinde saklanmasını destekler.
Ancak bu, temel raster görüntüsünü değiştirmeyen bir 'ipucu' niteliğinden başka bir şey değildir. Bu keşfi yapmasının nedeni budur:
"Dosyayı kontrol ettiğimde aynı kalıyor."
Bu 'ipucu' muhtemelen yazıcı sürücüleri tarafından veya LaTeX gibi sayfa oluşturma programları tarafından otomatik olarak değerlendirilebilir. Bu tür DPI 'ipuçlarının' yokluğunda (ya da bir şekilde kendilerini LaTeX'in yapmasını beklediği şekilde sunmuyorlarsa), LaTeX'in bir sayfada beklediği şekilde herhangi bir görüntüyü oluşturması için komut verilebilmesi gerekir. için - resmin etrafında sadece biraz daha açık LaTeX kodu gerekiyor!
Diğer bazı görüntü formatları (JPEG (?), BMP, ...) bir DPI ipucunun iç meta verilerinde saklanmasını bile desteklememektedir.
Bu yüzden Gimp sadece "Resim -> Baskı Boyutu" ile yaptıklarını destekliyor, çünkü bir resim basmak istiyor. ImageMagick ile yazdıramazsınız.
Yazdırırken Gimp ile ne yapmak istediğinizi yapmaya devam edin. ImageMagick ile anlam ifade etmiyor.
Ayrıca , aynı konuyu farklı kelimelerle açıklayan bu ek IM belgelendirme pasajına da bakın .
Öyleyse geriye kalan bu:
- Resminizi Gimp ile değiştirirseniz ve sonucu LaTeX'e eklerseniz, sayfa beklediğiniz gibi görünür.
- ImageMagick ile görüntüyü 'manipüle' ve ardından LaTeX'te sonucu katıştırırsanız, sayfa görünüyor değil beklediğiniz gibi.
Lütfen yukarıdaki sorunu çözmek için aşağıdakileri sağlayın:
- ImageMagick yükleme tam sürümü (tam çıkış
convert -version
ve convert -list configure
);
- (bir bağlantı) orijinal örnek resim;
- (bir bağlantı) Gimp tarafından manipüle aynı görüntü;
- (bir bağlantı) ImageMagick tarafından manipüle aynı görüntü.
Bu şekilde sorunu çözmeye yardımcı olabiliriz.
Ancak dikkat: Bu, mevcut konunuzun / başlığınızın sorduğundan farklı bir sorundur: "Görüntü verilerinin gerçek bayt boyutunu değiştirmeden DPI ile Imagemagick ile değiştirmek istiyorum"
Güncelleme
O olduğu için hala ben yukarıda belirtilen bazı ne okuyuculara belli değil, burada bir kez daha girişimidir ...
Bir görüntü dosyasının içinde 'Çözünürlük' veya 'Yoğunluk' olarak belirtilenler , bir meta veri niteliğidir . Dosya tarafından açıklanan gerçek piksel sayısı üzerinde bir etkisi yoktur ve bu açıdan tamamen alakasızdır. Bu, görüntüyü yazdırırken, görüntülerken veya görüntülerken bir yazdırma veya oluşturma aygıtının veya bir uygulamanın izleyebileceği veya izleyemeyeceği bir ipucudur .
Bu amaçla, görüntü dosyasında depolanan birkaç numaradır. Bu sayılar, yazıcılar gibi çıktı aygıtlarına söyler ve görüntünün inç başına kaç nokta gösterilmesi gerektiğini görüntüler. PostScript, PDF, MWF ve SVG gibi vektör biçimleri için, piksel ölçeğine, görüntünün kullandığı gerçek dünya koordinatlarını çizmesini söyler.
Resim meta içindeki ImageMagick'in tarafından da belirtildiği çözünürlük değeri olan bir örnek, DEĞİL bir uygulama tarafından onurlandırıldı Adobe Photoshop olduğunu. Photoshop, istenen bir baskı veya ekran çözünürlüğü ile ilgili ipuçlarını 8bim adlı tescilli bir profilde saklar . ImageMagick, bir görüntü dosyasının meta verilerine bir çözünürlük değişikliği yazmak istendiğinde bile bu profile dokunmuyor. Öte yandan Photoshop, ImageMagick tarafından saklanan tüm ipuçlarını, aksi takdirde kendi 8bim profilini görür görmez, bu amaç için tanımlanan standart meta veri alanında yok sayar .
OP bu başlığı seçmeliydi:
- 'Görüntüdeki gerçek piksel sayısını değiştirmeden DPI (meta veri çözünürlüğü ipucunu) ImageMagick ile değiştirmek istiyorum'
tüm yanlış anlamaları önlemek için ...
^
solundaki küçük simgeye tıklayın) hatırlamalısınız , sadece yeterli bir üne sahipseniz en kısa sürede 'kabul etmeyin' +15) ...