PNG görüntüsünün bir noktasında tam renk değerini söylemek için herhangi bir araç?


10

Bir png görüntüsünde belirli bir noktada (tercihen imlecin altındaki nokta) tam renk değerini (RGB, HSB veya RGB değerine dönüştürülebilen başka bir renk alanı değeri) almak istiyorum. Bunun için bir araç var mı? Teşekkürler.

Not: Daha spesifik olmak gerekirse, ekran renk seçici değil, PNG görüntü renk veri seçici istiyorum. Genel ekran renk seçici, bir PNG görüntüsünde tam renk değerini mükemmel bir şekilde seçemez, örneğin, alfa kanalı eksik.


Veya PNG'den bahsettiğiniz gibi, alfa kanalının değerine de ihtiyacınız var mı?
Jari Keinänen

@koiyu Elbette, alfa kanalı da gereklidir.
an0

Yanıtlar:


18

ImageMagick'i kullanma :

$ görüntü image.png -crop '1x1 + 100 + 200 ' txt: -

Çıktılar, ör.

# ImageMagick piksel sayımı: 1,1,255, rgb
0,0: (236,236,236) #ECECEC rgb (236,236,236)

Veya dosya PNG-24 dosyasıysa, örneğin çıktı verir.

# ImageMagick piksel sayımı: 1,1,255, rgba
0,0: (0, 0, 0,243) # 000000F3 rgba (0,0,0,0.952941)

At -cropseçeneği Ben ilk bu durumda 1x1 piksel olan Kırpılacak alanı tanımladık. Sonra mahsulün yerini Kuzey Batı köşesine göre tanımladım , yani sol üst.

Son olarak çıktıyı metne dönüştürdüm txt:-. ImageMagick daha sonra görüntünün tüm renklerini STDOUT'a verir (bu durumda görüntü boyutu 1 piksel olduğu için yalnızca bir renk vardır), yani normal kabuk teknikleriyle işleyebilirsiniz. Yani, örneğin çıktıyı pipetleyerek tail -n 1sadece piksel bilgi hattını elde edersiniz.

Başka bir renk uzayında pikselin rengine ihtiyacınız varsa, uygun şekilde adlandırılmış -colorspaceseçeneğe bakmalısınız .

†) Aslında konum belirtilen -gravitydeğere göreli , ancak varsayılan olarak "NorthWest".


Teşekkürler, ancak bu yöntemle alfa kanalı değerini alabilir miyim?
an0

@ an0 Evet. Bahsedilen komutu bir PNG-24 dosyasıyla kullanırsanız, örneğin bir çıktı alırsınız0,0: ( 0, 0, 0,243) #000000F3 rgba(0,0,0,0.952941)
Jari Keinänen

Bazı renkler için bu yöntemi kullanarak RGB değerleri yerine metin biçiminde (örneğin, 'siyah' veya 'deniz mavisi') renk adları alıyorum. Imagemagick forumlarındaki bu yazının işe yarayan başka bir çözümü var, ancak çok daha karmaşık. imagemagick.org/discourse-server/viewtopic.php?t=13694#p46473
Wyatt8740

6

DigitalColor Meter (/ Applications / Utilities içinde bulunur), imlecinizin üzerine geldiği pikselin renk değerini (RGB) söyler.


2
Ekran renk seçici değil, PNG görüntü renk veri seçici istiyorum. Genel ekran renk seçici, bir PNG görüntüsünde tam renk değerini mükemmel bir şekilde seçemez.
an0

İmlecinizin üzerine geldiği piksel için bir RGB değeri istediniz. Png dosyasını açar ve pikselin üzerine gelirseniz, o rengin RGB değerini alırsınız, değil mi?
lütfen

alfa kanalı eksik.
an0

Üzgünüm, daha fazla yardım edemezdim.
lütfen beni

Alfa kanalı RGB'nin bir parçası değil.
Daniel

2

Ben uygun bir yol bulmuş yığın taşması tarafından Roman NURIK :

Photoshop'un Bilgi panelinde, okuma modu olarak 'Opaklık'ı seçebilirsiniz, ancak gerçek alfa değeri olarak değil yüzde olarak görünecektir.

Etkinleştirmek için Bilgi penceresini açın, Panel Seçenekleri'ni seçin ve ardından İkinci Renk Okuma modunu Opaklık olarak ayarlayın.

… Ama bunun için Photoshop'a ihtiyacınız var. Hala daha basit yollar olması gerektiğine inanıyorum. Umarım başka biri yardımcı olabilir.


1

Photoshop'unuz yoksa ve yalnızca bu özelliği elde etmek için para harcamak istemiyorsanız, FOSS (Serbest / Açık Kaynak Yazılım) uygulaması GIMP sizin için işi yapar.

www.gimp.org


-2

colorhunter.com bu aynı soruyu googling yaparken bulmayı başardı. iyi şanslar


Merhaba Jenifer, sadece bu cevabın uzunluğa ve İçeriğe göre otomatik olarak düşük kalite olarak işaretlendiğini bildirmek için (temel olarak bir bağlantı ile kısa). Cevabınızı başka bir siteye referans olmaktan daha fazla genişletebilirseniz, belki de bazı uygulama özelliklerini vb. Cevaba kopyalayın, çok daha iyi okunur.
stuffe
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.