sadece bayt görüntülemek için dosyayı açıyoruz ve bir resim olarak manipüle etmeye gerek yok, o zaman herhangi bir benzeri dosya açılırken basit bir işlemdir diğer, baytların X sayısını okuyarak, daha sonra bunları yineleyerek. Örneğin, ondalık olarak bayt çıktılar. Bayt değerlerine bakmak ve renkleri belirlemek için RGB değerlerini oluşturmak isteyeceksiniz, bu yüzden each_slice(3)
kullanarak ve 3 bayt'ın katlarında okuma yardımcı olacaktır.
Çeşitli görüntü biçimleri, türe bağlı olarak, yakalama aygıtı için görüntü, veri biçimi ve EXIF bilgileriyle ilgili bilgileri depolamak için kullanılan farklı üstbilgi ve takip blokları içerir. Sıkıştırılmamış TIFF gibi bir dosyayı okuyacağınız ve doğrudan bayt çıktığında muhtemelen sıkıştırılmamış bir şeyle gitmek iyi olacaktır. Buna karar verdikten sonra, isterseniz üstbilgileri atlamak için dosyaya atlayabilir veya sadece bunları görmek ya da içinde ne olduğunu öğrenmek için bunları okuyabilirsiniz. Vikipedi Image file formats sayfa mevcut çeşitli formatlarda daha fazla bilgi için iyi bir atlama yeridir.
Sadece görüntü verilerini görmek istiyorsanız, yüksek düzeyli kitaplıklardan biri görüntünün belirli bölümlerini yakalamak için arabirimleri olduğundan yardımcı olacaktır. Ancak, aslında baytlara erişmek zor değil, ne de etrafta zıplamak.
EXIF bloğu hakkında daha fazla bilgi edinmek isterseniz, çok sayıda farklı satıcının Jpeg ve TIFF biçimlerini tanımlamak için kullanılan ExifTool kullanışlı olabilir. Perl'de yazılmıştır, böylece kodun nasıl çalıştığına bakabilirsiniz. Dokümanlar, üstbilgi bloklarını ve alanları güzel bir şekilde gösterir ve uygulamayı kullanarak değerleri okuyabilir/yazabilirsiniz.
Yeni bir yönlendiriciyi test etme aşamasındayım, bu yüzden bu kodu test etme şansım olmadı, ancak yakın olmalıdır. Biraz kontrol edip, işe yaramazsa cevabı güncelleyeceğim.
Sadece meraklı; Bu durumda Rmagick'in performansı nasıl? Bir oyun motoru üzerinde çalışıyorum, bir Ruby on ucu ve bir bitmap sınıfı kullanan bir hobi olarak piksel-piksel erişiminde son derece yavaştır. –
Asıl soru, yazarın RMagick'e baktığını ve 'overkill' olduğunu belirledi. – Phrogz
@Phogz Yani reddettin mi? OP, bunun aşırı olmayacağını belirlese de, öyle olduğu anlamına gelmez. Onlar gerçekten * ne ihtiyaç duyduklarını bilselerdi, sormazlardı. Bu cevap doğru ve sorulan şeyi yapıyor. – Alex