Salı, Haziran 6, 2023

EMF

.emf dosyası nedir?

Geliştirilmiş meta dosyası biçimi (EMF) grafik görüntüleri cihazdan bağımsız olarak depolar. EMF’nin meta dosyaları, herhangi bir çıkış aygıtında ayrıştırıldıktan sonra saklanan görüntüyü işleyebilen, kronolojik sırayla değişken uzunluklu kayıtlardan oluşur.

Bu değişken uzunluklu kayıtlar, kapalı nesnelerin tanımları, çizim komutları ve görüntüyü doğru bir şekilde işlemek için kritik olan grafik özellikleri olabilir.

Bir aygıt, kendi grafik ortamını kullanarak bir EMF meta dosyasını açtığında, orijinal görüntünün oranları, boyutları, renkleri ve diğer grafik özellikleri, açılan aygıt platformundan bağımsız olarak aynı kalır.

Kısa Tarih

1990’da Microsoft, Microsoft Windows için bir görüntü dosyası biçimi Windows Meta Dosyası (WMF) tasarladı. Windows Meta Dosyaları, bazı bitmap bileşenleri içerebilen 16-bit biçimidir. WMF, vektör grafiklerinden oluşabilir ve farklı uygulamalar arasında taşınabilir olması amaçlanır. 1993’te Win32/GDI, gelişmiş esneklik ve ölçeklenebilirliğe sahip daha yeni bir sürüm olan Gelişmiş Meta Dosyasını (EMF) duyurdu.

EMF, yazıcı sürücülerini çalıştırmak için grafik dili komutları olarak da kullanılır. Microsoft artık Windows biçimi (WMF) yerine gelişmiş meta dosyası biçimini (EMF) önermektedir. Windows XP tanıtıldığında, Enhanced Metafile Format Plus (EMF+) sürümü yayınlandı. Bu daha yeni sürüm, GDI+ API çağrılarını aynı şekilde WMF/EMF kayıtlarının GDI’ye yaptığı çağrıları serileştirerek yolunu bulur. EMZ olarak bilinen EMF’nin gzip ile sıkıştırılmış bir sürümü vardır.

EMF Meta Dosyası Formatı

Gelişmiş meta dosyası biçiminin temel öğeleri aşağıdadır:

  • Bir EMR_HEADER (sürüm, boyut, oluşturma sırasında resmin çözünürlüğü)
  • GDI nesneleri için bir tablo
  • Ayrılmış bir palet (isteğe bağlı)
  • Dizi yapısında düzenlenmiş meta dosya kayıtları (özellik ayarları, tanımlanmış nesneler, çizim komutları)
  • EMR_EOF kaydı (EMF meta dosyasındaki son kayıt)

EMF Sürümleri

  • Orijinal: Orijinal sürüm, orijinal görüntüyü tutmak ve cihazdan bağımsız olarak sürdürmek için gerekli kaydı belirtir. Ayrıca çizim için grafik nesneleri ve komutları içeren kaydı destekler.
  • Sürüm 1: EMF’nin ikinci sürümü, piksel formatı için kayıt ve OpenGL komutunu kullanma hükmü ekleyerek esnekliği ve cihaz bağımsızlığını iyileştirdi.
  • Sürüm 2: Üçüncü sürüm, cihazın yüzey mesafelerini ölçmek için Metrik sistemi ekleyerek doğruluğu artırdı ve kaydı daha ölçeklenebilir hale getirdi.

Gelişmiş Meta Dosya Kayıtları

Meta dosyası kayıtları dizi şeklinde düzenlenir. Bu kayıtlar ENHMETARECORD yapısına sahiptir ve uzunlukları değişkendir. ENHMETARECORD, gelişmiş meta dosyası biçimini kullanarak bir resim oluşturmak için GDI işlevlerini tanımlayan verileri belirtir. ENHMETAHEADER yapısı bu formatta her zaman ilk kayıttır. Bu EMF başlığı aşağıdaki bilgileri içerir.

Gelişmiş meta dosyasının her kaydı, başlangıçta iki EMR üyesine (temel yapıyı sağlar) sahiptir. İlk üye, kayıt türünü belirleyen ve iType olarak bilinen GDI işlevini (parametreler kayıtta kullanılır) tanır. Diğer üye nSize, her kaydın boyutunu tanımlar. Kalan parametreler (varsa) ve ek veriler nSize’ın hemen altında düzenlenir. Başlığın hemen ardından isteğe bağlı bir metin açıklaması sunulabilir. Resmin ve yazarın adı bu metin açıklamasına kaydedilir. Varlığı bir seçenek olan palet, gelişmiş meta dosyası oluşturmada kullanılan renkleri belirtir. Resim oluşturmada gerekli olan GDI işlevini belirtmek için kullanılan diğer kayıtlar.

Her meta dosyasında en az bir EMF kaydı bulunmalıdır. Bir kayıttan diğerine geçiş bilgisi EMF kayıtlarına bağlıdır, dolayısıyla bu kayıtlar bitişik olarak düzenlenmelidir. EOF_record dışında meta dosyasındaki herhangi bir kayıtta, söz konusu kaydın uzunluğu bir sonraki kayda geçmek için tanımlanır.

Gelişmiş Meta Dosyası Oluşturma

CreateEnhMetaFile işlevi, gelişmiş bir meta dosyası oluşturmak için kullanılır. Bu işlev bağımsız değişkenleri, resmin boyutları ve diskte/bellekte depolanması için kullanılır. Ayrıca bu fonksiyon, resmin ilk göründüğü cihazın boyutunu (referans verilen cihaz) ve referans cihazın (DC) içeriğini gerektirir. Bu nedenle, CreateEnhMetaFile işlevi çağrılırken bu DC’yi işlemek için argümanlar sağlanmalıdır. Fonksiyon sözdizimi aşağıdaki gibidir:

HDC CreateEnhMetaFileExample(

  HDC        hdc,

  LPCSTR     lptoFilename,

  const OVAL *lprc,

  LPCSTR     lpDesc

);

HDC: bir referans cihaza işleyin.

lptoFilename: Dosya adına bir işaretçi.

lprc: Oval yapı işaretçisi, resim boyutlarını mm cinsinden belirtir.

lpDesc: resmin başlığı ve resmi oluşturan uygulama adı için bir dizge işaretçisi.

Gelişmiş Meta Dosyası İşlemleri

Aşağıda, geliştirilmiş bir meta dosyası tanıtıcısı kullanılarak gerçekleştirilebilecek işler yer almaktadır.

  • Saklanan resim için görüntüleyin ve düzenleyin.
  • Geliştirilmiş meta dosyası kopyaları üretin.
  • Bir EMF başlığının kopyasını, isteğe bağlı açıklamayı ve gelişmiş bir meta dosyasının ikili sürümünü alın
  • Paletteki renkleri özetleyin.

Grafik Nesneleri

Çizim ve boyama işlemlerinde, nesne oluşturma kayıtları ile grafik nesneleri oluşturulabilir ve daha sonra kullanılmak üzere kaydedilebilir. Bir “EMR_SELECTOBJECT” kaydı, oynatma cihazı bağlamını kullanarak bu grafik nesnelerini alabilir. Kalemler, paletler, fırçalar, renk uzayları, yazı tipleri ve hazır nesneler bazı yeniden kullanılabilir nesne türleridir.

Bayt Sıralama

Little-endian biçimi, verileri meta dosyası kayıtlarında depolamak için kullanılır.

sürüm oluşturma

EMF dosya biçimi iki kez revize edilmiştir. Değiştirilen sürümler orijinal, uzantı 1 ve uzantı 2’dir. Genişletilmiş sürümlerde OpenGL kayıtları ve dahili piksel formatı için isteğe bağlı bir tanımlayıcı bulunur. Görüntülenen boyutlar için mililitre cinsinden bir ölçüm özelliği eklenir.

Referanslar

Önceki İçerikEMZ
Sonraki İçerikECW

BENZER YAZILAR

Ferit Tüzün Kimdir? – Ferit Tüzün Biyografisi

Ferit Tüzün Kimdir? - Ferit Tüzün Biyografisi İkinci kuşak bestecilerimiz arasında bir orkestralama ustası olarak tanınan Tüzün, en verimli çağında aramızdan ayrılmıştır. Ferit Tüzün (Ferit Tüzün...

Qualcomm’un Üst Düzey SoC’lerde Kullanılan ‘Amiral Gemisi’ Tri-Cluster CPU Yapılandırması ile Snapdragon 7 Plus Gen 1’i Test Ettiği Bildirildi

Yeni bir söylenti, SM7475 model numarasına sahip bir Qualcomm yonga setinin üç kümeli bir CPU yapılandırmasıyla test edildiğini iddia ediyor. SM8475'in sona erdiği göz...

Bir Kapı Kapanır Bir Kapı Açılır

Yaşamı boyunca bir çok başarısızlıkla yüz yüze gelen insanoğlu inatla savaşır, yeteneklerine güvenir ve asla vazgeçmezse başarıdan başarıya koşar. Önemli olan kapıların kapanmasını yeni...

Yaklaşan Amiral Gemisinin Galaxy S22 ile Tasarım Benzerliklerine İlk Bakışı Sunan Galaxy S23 Renderları Burada

Galaxy S23, Galaxy S22'ye kıyasla biraz daha rafine bir tasarıma sahip olabilir, çünkü ilk görüntüler ve video gelecek yılın başlarında gelecek olan amiral gemisine...

INC

.inc dosyası nedir? INC dosyası, yazılım programının kaynak kodu tarafından başlık bilgilerine başvurmak için kullanılan bir içerme dosyasıdır. .h dosya biçimine benzer ve C++ gibi...

Son Söylentilere Göre Galaxy S24, Yükseltilmiş Yenileme Hızına Sahip Bir Ekrana Sahip Olacak

Bu yılın başlarında piyasaya sürülen tüm Galaxy S23 modellerinin yenileme hızı 120 Hz ile sınırlıydı ve cebinizde veya elinizde olacak bir şey için bu...

POPÜLER YAZILAR

Gigabyte, 600 ve 700 Serisi Anakartlarına “Yeni Nesil Intel Masaüstü CPU” Desteği Ekliyor

Gigabyte, 600 ve 700 serisi anakartları için Intel'in yeni nesil masaüstü CPU desteği ekleyen yeni bir BIOS güncellemesini sessizce yayınladı. Gigabyte 600 ve 700 Serisi...

Apple AR Kulaklığını Pazartesi Günü Açıklayacak, Ancak Cihaz Ekim’de Seri Üretime Gireceğinden Lansman Aylar Sürebilir

Apple'ın merakla beklenen AR Kulaklığını Pazartesi günü WWDC etkinliğinde piyasaya sürmesi bekleniyor. Cihaz bir süredir söylenti değirmeninde dinlendi ve birkaç gecikmeden sonra, kulaklık nihayet...

Gmail Doğrulama Rozetlerini hatırlıyor musunuz? Dolandırıcılar Onlardan Yararlanmanın Bir Yolunu Buldu

Google, insanların her e-posta aldıklarında güvende olmalarını sağlamanın çeşitli yollarını araştırmaktadır. Şirket, aşağıdakiler de dahil olmak üzere çeşitli önlemler aldı: yakın zamanda duyuruldu İleti...

Apple’ın 12 Çekirdekli ‘X1’ Yonga Setli AR Kulaklığı, Yeni Benchmark Sızıntısında M2 Max’ten Daha Hızlı Performans Gösteriyor, Ama Ne yazık ki Skorlar Sahte

SoC'nin X1 olarak adlandırıldığını ortaya çıkaran en son kıyaslama sızıntısını duymak bizim için şaşırtıcıydı. 8 çekirdekli bir CPU yerine liste, M2 Max'ten daha yüksek...