Arka planı olmayan dosyalar. Bir resim için şeffaf bir arka plan nasıl yapılır. Metniniz ile çevrimiçi bir filigran oluşturun

Web sitesi tasarımı üzerinde çalışırken, sitenize ideal olarak uyan bulunan görselin, kaldırmak istediğiniz farklı bir arka plana sahip olduğu gerçeğiyle sık sık uğraşmak zorunda kalırsınız.

Ve böylece resmimizi Photoshop'ta açıyoruz.

1. Yapılacak ilk şey, şeffaf bir arka plana sahip görüntü için bir çalışma alanı oluşturmaktır. Bunun için:
- katmanlar penceresinde katmanımıza çift tıklayın (kilitli)
- Açılan pencerede Tamam'a tıklayın.

Kilit kaybolmalı

Arka plan düz ise:
aracı seçin " sihirli değnek” istenilen alanı seçmek için çok esnek bir araçtır. Görevimiz, resim hariç tüm arka planı seçmek. Bunu yapmak için sihirli değnek ayarlarını yapın (parametre hata payı) istenen sonucu elde edene kadar. Zaten seçili olana ek olarak bir alan seçmek için Shift tuşunu da kullanırız. Del tuşuna bastığınızda seçilen alan silinir.

Arka plan çok renkli ise:
aracı kullanıyoruz Hızlı Seçim". Burada görevimiz arka planı değil, kalması gereken nesnenin kendisini vurgulamaktır. İstenen alan vurgulanana kadar düğmesine basın. Fazlalık vurgulanmışsa, Alt tuşunu basılı tutun ve alanı çıkarın. Sonucu Q tuşu ile görüntüleyebilirsiniz.
Seçim hazır olduğunda Ctrl+C ile kopyalayın. Saydam bir arka plana sahip yeni bir belge oluşturun (Ctrl + N) ve nesneyi buraya Ctrl + V yapıştırın.

3 . Resimde gereksiz bir şey kaldıysa, aracı kullanın " Silgi", sadece fazladan arka planın üzerine yazın.

4 . Resmi Web için kaydedin (Alt + Shift + Ctrl + S) GIF veya PNG formatını seçin (diğerlerinde şeffaf arka planımız beyaza döner).

Konuyla ilgili faydalı video:

Bazen kullanıcı şeffaf bir arka plana sahip bir PNG görüntüsü isteyebilir. Ancak, gerekli dosya her zaman gerekli parametrelere karşılık gelmez. Bu durumda, kendiniz değiştirmeniz veya yeni bir tane seçmeniz gerekir. Şeffaf bir arka plan oluşturmaya gelince, özel çevrimiçi hizmetler bu görevi yerine getirmeye yardımcı olacaktır.

Saydam bir arka plan oluşturma prosedürü, yalnızca gerekli olanı bırakırken tüm gereksiz nesnelerin kaldırılmasını gerektirir ve eski öğelerin yerine istenen efekt görünecektir. Böyle bir süreci uygulamanıza izin veren İnternet kaynakları hakkında bilgi edinmenizi öneririz.

Yöntem 1: LunaPic

Grafik düzenleyici LunaPic çevrimiçi çalışır ve kullanıcıya arka plan değiştirme de dahil olmak üzere çok çeşitli araçlar ve işlevler sağlar. Hedefe şu şekilde ulaşılır:

  1. LunaPic İnternet kaynağının ana sayfasını başlatın ve bir resim seçmek için tarayıcıya gidin.
  2. Bir resim seçin ve tıklayın "Açık".
  3. Otomatik olarak editöre yönlendirileceksiniz. Burada sekmede "Düzenlemek"öğeyi seçmelisin "şeffaf arka plan".
  4. Kesilecek uygun renkle herhangi bir yere tıklayın.
  5. Arka plan otomatik olarak temizlenecektir.
  6. Ayrıca, kaydırıcıyı hareket ettirerek efektini artırarak arka plan kaldırmayı bir kez daha ayarlayabilirsiniz. Ayarları tamamladıktan sonra üzerine tıklayın. Uygulamak.
  7. Birkaç saniye içinde sonucu alacaksınız.
  8. Hemen kaydetmeye devam edebilirsiniz.
  9. PNG formatında bilgisayarınıza indirilecektir.

Bu, LunaPic hizmetiyle çalışmayı tamamlar. Yukarıdaki talimatlar sayesinde arka planı kolayca şeffaf hale getirebilirsiniz. Hizmetin tek dezavantajı, yalnızca arka planın esas olarak bir renkle doldurulduğu çizimlerle doğru çalışmasıdır.

Yöntem 2: PhotoScissors

PhotoScissors sitesini anlayalım. Burada, kesilen alanı kendiniz belirlediğiniz için, yalnızca belirli resimlerle iyi işlemenin elde edileceği gibi bir sorun yoktur. İşleme şu şekilde gerçekleştirilir:

  1. PhotoScissors çevrimiçi hizmetinin ana sayfasında olmak, gerekli fotoğrafı eklemeye devam edin.
  2. Tarayıcıda bir nesne seçin ve açın.
  3. Kullanım talimatlarını okuyun ve düzenlemeye başlayın.
  4. Yeşil artı simgesini farenin sol tuşuyla etkinleştirin ve ana nesnenin bulunduğu alanı seçin.
  5. Kırmızı bir işaretleyici ile silinecek ve şeffaflıkla değiştirilecek alanı seçmeniz gerekecektir.
  6. Sağdaki önizleme penceresinde, düzenlemenizdeki değişiklikleri hemen göreceksiniz.
  7. Özel araçlar yardımıyla eylemleri geri alabilir veya silgiyi kullanabilirsiniz.
  8. Sağdaki paneldeki ikinci sekmeye gidin.
  9. Burada arka plan türünü seçebilirsiniz. Saydamlığın etkinleştirildiğinden emin olun.
  10. Resmi kaydetmeye başlayın.
  11. Nesne bilgisayarınıza PNG formatında indirilecektir.

Bu, çevrimiçi kaynak PhotoScissors ile çalışmayı tamamlar. Gördüğünüz gibi, onu yönetmede karmaşık bir şey yok, ek bilgi ve becerilere sahip olmayan deneyimsiz bir kullanıcı bile görevi anlayacaktır.

Yöntem 3: Remove.bg

Son zamanlarda Remove.bg web sitesi pek çok kişinin ağzında. Gerçek şu ki, geliştiriciler arka planı otomatik olarak kesen ve görüntüde yalnızca bir kişi bırakan benzersiz bir algoritma sağlıyor. Ne yazık ki, web hizmetinin yetenekleri burada sona eriyor, ancak bu tür fotoğrafları işleme konusunda mükemmel bir iş çıkarıyor. Bu sürece daha yakından bakalım:


İşte makalemiz mantıklı bir sonuca varıyor. Bugün size sadece birkaç tıklamayla bir görüntünün arka planını şeffaf hale getirmenize izin veren en popüler çevrimiçi hizmetlerden bahsetmeye çalıştık. En az bir siteyi beğeneceğinizi umuyoruz.

Ana şey, bilgisayarınızda veya telefonunuzda bir resim belirtmek ve ardından bu sayfanın altındaki Tamam düğmesini tıklamaktır. Varsayılan olarak, resmin düz arka planı saydam olanla değiştirilir. Orijinal görüntünün arka plan rengi otomatik olarak belirlenir, ayarlarda onu hangi renkle değiştireceğinizi belirtmeniz yeterlidir. Değiştirmenin kalitesini etkileyen ana parametre "Değiştirme yoğunluğu"dur ve her resim için farklı olabilir.

Değişmeyen ve düz arka planı şeffaf, beyaz ve yeşil ile değiştirdikten sonra pembe bir gül fotoğrafı örneği:


İlk örnekşeffaf bir arka plan üzerinde bir gül çiçeği ile aşağıdaki ayarlarla yapılır:
1) Değiştirme yoğunluğu - 38;
2) Kenarları yumuşatma - 5;
3) Düz arka planı şeffaf olanla değiştirin;
4) Kırpma (<0) или Добавление (>0) kenarlar boyunca - "-70";
5) Ters Çevir - devre dışı (kontrol edilmedi).

oluşturmak için ikinci örnek, beyaz bir arka planla, "Düz arka planı şununla değiştir" - beyaz parametresi dışında ilk örnektekiyle aynı ayarlar kullanıldı. AT üçüncü örnek, yeşil bir arka plana sahip ayarlar, ilk örnekte olduğu gibi, "onaltılı formatta renk" - #245a2d parametresi dışında da kullanılır.

Orijinal görüntü hiçbir şekilde değiştirilmez. Saydam bir arka plana veya belirttiğiniz arka plana sahip başka bir işlenmiş resim verilecektir.

1) BMP, GIF, JPEG, PNG, TIFF formatında bir görüntü belirtin:

2) Düz bir arka planı değiştirme ayarları
Değiştirme oranı: (1-100)

Kenar yumuşatma: (0-100) Düz arka planı şununla değiştirin: şeffaf (yalnızca PNG-24) kırmızı pembe mor mavi turkuaz gökyüzü limon yeşili sarı turuncu siyah gri beyaz veya altıgen renk: Kırp paletini açın (<0) или Добавление (>0) kenarlarda: (-100'den 100'e kadar)
(Saydam bir arka plan üzerinde bir seçimin etrafına ek kırpma veya piksel ekleme yoğunluğu) Zıt seçim (arka plan yerine ön planı değiştirin)

Bazı kullanıcıların bazı fotoğraflarda şeffaf bir arka plan yapması gerekebilir. Bu, estetik kaygılardan, ticari amaçlar için bir filigran oluşturma ihtiyacından ve diğer nedenlerden kaynaklanabilir - gerçek şu ki, kullanıcı bunun nasıl ve neyle yapılabileceğini bilmiyor. Bu yazımda bu tarz kullanıcılara yardımcı olmaya çalışacağım ve sizlere online olarak nasıl şeffaf arka plan yapacağınızı, bunun için hangi servislerin mevcut olduğunu ve nasıl kullanılacağını anlatacağım.

Bir görüntünün şeffaf arka planını oluşturabilen hizmetlerin listesi

Ağda, çevrimiçi bir fotoğrafın arka planını ücretsiz olarak kaldırmanıza izin veren birkaç hizmet vardır. Aynı zamanda, hepsinin oldukça basit araçları vardır ve neredeyse birkaç tıklamayla fotoğrafların arka planını kaldırmanıza olanak tanır. Aşağıda bu hizmetleri işlevselliklerinin ayrıntılı bir açıklamasıyla listeleyeceğim.

Benim gibi bir arzunuz varsa, sizi memnun etmek için acele ediyorum, çoğunu test ettim ve en iyilerin bir listesini derledim (yukarıdaki bağlantıda).

Online-Photoshop hizmeti, arka planı kaldırmanıza olanak tanır

Çevrimiçi şeffaf bir arka plan oluşturmanıza izin veren ilk kaynak Online-Photoshop'tur. Onunla çalışmak oldukça basittir, birkaç dakika içinde fotoğrafınızda şeffaf bir arka plana sahip bir nesne elde etmenizi sağlar.

  1. Planladığınız şeyi uygulamak için kaynağa gidin, "Resim seç" düğmesine tıklayın ve istediğiniz fotoğrafı yükleyin.
  2. İkincisi ekranın sol tarafında görünecek ve imleç sarı bir daire şeklini alacaktır.
  3. Bu daire ile nesnenin dış hatlarını, arkasını saydam yapmak istediğiniz arka planı sarı bir çizgiyle işaretleyin.
  4. Ardından araç çubuğunda artı işareti olan yeşil daireye tıklayın ve nesnenin iç özelliklerini yeşil ile işaretleyin.
  5. Ardından eksi ile kırmızı daireye tıklayın ve nesnenin sınırlarının dışındaki dış alanı kırmızı çizgilerle işaretleyin.

Şimdi sağdaki oka basıyoruz ve sonuca bakıyoruz. Her şey yolundaysa, üstteki "İndir" düğmesine tıklayın ve sonucu PC'nize kaydedin.

Pixlr hizmeti bir arka plan rengi ayarla

Saydam bir arka planı çevrimiçi yapmak için başka bir araç, Photoshop benzeri Pixlr çevrimiçi düzenleyicisidir. Önemli sayıda özelliği var, ancak öncelikle çevrimiçi olarak şeffaf bir arka plan oluşturmakla ilgileniyoruz.

IMGonline hizmeti, şeffaf bir arka plan oluşturmanıza olanak tanır

Bu hizmet, arka planı çevrimiçi olarak şeffaf hale getirmenizi sağlayan neredeyse tamamen otomatik bir seçenektir.

Servisle çalışmak için servise gidin, "Gözat" düğmesine tıklayın, "Düz arka planı şununla değiştir" seçeneğinin "Şeffaf" olarak ayarlandığından emin olun ve alttaki büyük "Tamam" düğmesine tıklayın.


İşlemden sonra sonucu görüntüleyebilir veya uygun bağlantıları kullanarak bilgisayarınıza indirebilirsiniz.

Otomasyon nedeniyle, ortaya çıkan işlemin kalitesinin genellikle yukarıda listelenen Online-Photoshop ve Pixlr'dan daha kötü olduğunu not ediyorum.

Hizmet Filigranı.Algid.Net

Çevrimiçi olarak bir fotoğrafta şeffaf bir arka plan oluşturmanıza izin veren başka bir hizmet.

Bu hizmetle çalışmak için, görüntünün kendisinde olmayan bir renkle (örneğin, aşağıdaki örnekte gösterildiği gibi mavi) potansiyel olarak şeffaf bir alanı boyamanız gereken bir fotoğraf hazırlamanız gerekir. Fotoğrafın png veya gif formatında olması da önemlidir.


  1. Ardından sitenin kendisine gitmeniz, "Gözat" düğmesine tıklamanız, dosyanızın hizmete giden yolunu belirtmeniz ve "Sonraki Adım" a tıklamanız gerekir.
  2. Resminiz açılacak, saydam yapmak istediğiniz fotoğrafın rengine tıklamanız gerekecek (işlendikten sonra kaldırılacak arka planın bir rengi olmalıdır).
  3. Arka plan rengine tıklayın, program onu ​​işleyecek ve şeffaf hale gelecektir.
  4. İşlemden memnunsanız, fotoğrafa sağ tıklayın ve "Resmi Farklı Kaydet" seçeneğini seçin.

LunaPic hizmeti görüntünün arka planını kaldırır

Saydam bir arka plan oluşturmaya yönelik bu hizmet, işlevselliği açısından bir öncekine benzer ve tek renkte yapılmış bir arka plan gerektirir. Bu rengi şeffaf bir arka plana dönüştürerek kullanıcının istediği görüntüyü elde eder.

  1. Hizmetle çalışmak için oturum açın, "Gözat" ı tıklayın ve gerekli fotoğrafı yükleyin (veya aşağıdaki satırda ağda bir bağlantı sağlayın).
  2. Ardından saydam yapmak istediğiniz fotoğrafın rengini seçin ve fare ile üzerine tıklayın.
  3. Fotoğraf işlenecek ve ideal olarak şeffaf bir arka plan rengi elde edeceksiniz.

Watermark.Algid.Net hizmetiyle karşılaştırıldığında, LunaPic hizmeti daha çok tam teşekküllü bir fotoğraf düzenleyici gibidir ve bu hizmette yerleşik araçları kullanarak arka planı tek renkle boyamanıza olanak tanır.

Çözüm

Yukarıda, çevrimiçi olarak şeffaf bir arka plan oluşturmanıza olanak tanıyan birkaç kullanışlı ve kullanımı kolay hizmet listeledim. Bence en etkili olanı Online-Photoshop ve Pixlr hizmetleridir, işlemlerinin sonuçları iyi düzeydedir ve isteğe bağlı özelliklerin özellikleri hiç de karmaşık değildir. Bir fotoğraf için şeffaf bir arka plan yapmanız gerekiyorsa, bu araçların yeteneklerini kullanmanızı öneririm, çevrimiçi olarak kolayca ve hızlı bir şekilde şeffaf bir arka plan oluşturmanıza olanak tanır.

Ayrıca, ücretsiz bir biçim olarak PNG, web tasarımcısına GIF'e göre çeşitli pratik avantajlar sunar:

  • Daha iyi sıkıştırma: Çoğu görüntü için PNG, GIF'ten daha küçük bir dosya boyutu elde eder
  • Mükemmel renk derinliği: PNG, GIF'de yalnızca 256 renk paletine sahipken 48 bite kadar gerçek renk sunar
  • Alfa Kanalı Şeffaflığı: GIF yalnızca ikili şeffaflık sunarken PNG, şeffaflık için bir alfa kanalı sunarak neredeyse sınırsız şeffaflık efektlerine izin verir.

PNG'nin GIF'in yaptığı gibi animasyona izin vermediğini belirtmek yerinde olacaktır. Ancak buna izin veren Çok Görüntülü Ağ Grafikleri (MNG) standardı vardır, ancak web tarayıcıları ve görüntü düzenleyicileri tarafından yaygın olarak desteklenmemektedir.

Peki GIF neden hala bu kadar popüler?

Reklamı yapılan kadar iyiyse, PNG'nin neden web'de yaygın olarak kullanılmadığını merak ediyorsunuzdur. Cevap, çoğunlukla format ve tarayıcı desteği hakkında bir yanlış anlamadır.

Internet Explorer 6 ve önceki sürümler PNG özelliklerinin tamamını (alfa kanalı saydamlığı dahil) desteklemediğinden, insanlar Internet Explorer'ın PNG'yi hiç desteklemediğine veya en azından şeffaflığı desteklemediğine (doğru olmasa da) inanmaya bırakılır. Aslında, Internet Explorer 5 ve 6, animasyonlu olmayan GIF görüntülerine işlevsel olarak eşdeğer (veya daha fazla) yapmak için PNG belirtimini yeterince destekler. Firefox, Netscape 6 ve üstü, Mozilla, Opera 6 ve üstü, Safari ve Camino dahil olmak üzere belirtilen diğer tüm tarayıcılar PNG şeffaflığını tamamen destekler.

Tarayıcı desteği hakkındaki bu yanılgı bir yana, gömülü GIF animasyonu başarısının önemli bir nedeniydi (ve olmaya devam ediyor). Her ne kadar yıllar içinde GIF kullanımı, animasyon için daha uygun hale gelen diğer teknolojilere (örneğin Flash) kıyasla daha az popüler hale geldi.

Şeffaflık, GIF'lerin ve PNG'lerin temel bir özelliğidir ve genellikle bir web tasarımcısının hangi formatı kullanacağını seçmesinin nedenidir. PNG daha kapsamlı şeffaflık desteği sunsa da, web tasarımcılarının genellikle eski tarayıcılara uyacak şekilde görüntülerin GIF sürümlerini oluşturması gerekir. CSS kullanarak bu, eski tarayıcılar için GIF resimleri ve onları anlayan tarayıcılara yüksek kaliteli PNG'ler göndererek mümkündür (ve biraz önemsizdir). Ancak bu, bir web tasarımcısı için çifte iştir ve sonuç olarak, insanlar en az dirençle gider ve GIF resimlerini kullanmaya devam eder.

Bu nedenle, GIF'in hala bu kadar popüler olmasının birkaç nedenini inceledik, ancak bunların çoğu kavramların yanlış anlaşılmasına veya tanıdık bir iş akışı kullanılmasına dayanıyor. PNG ve tarayıcılarda nasıl güvenilir bir şekilde kullanılabileceği konusunda bazı temel bilgilerle donanmış olarak, sunduğu tüm avantajlardan yararlanabileceksiniz.

Peki ya JPEG?

JPEG, her yerde bulunan başka bir web formatıdır ve çoğu durumda, fotoğraflar (veya benzerleri) gibi, PNG veya GIF'den bile daha iyidir. PNG, JPEG ile rekabet etmek için tasarlanmamıştır. JPEG sıkıştırması, fotoğraflarla çalışırken dosyaları PNG'den çok daha küçük yapar. Öte yandan PNG, görüntülerin içinde metin, sanatsal çizgiler, logolar, "düz" renkler vb. olduğunda daha küçük dosyalar üretir.

Mütevazı PNG kullanmanın bazı harika örnekleri

Şimdi PNG'nin web tasarımında nasıl kullanılacağına bakalım. Her örnek için tüm dosyaları ED'nin arkadaşlarında bulunan ayrı bir klasörde topladım.

Gradyan

Geçtiğimiz birkaç yıl içinde, bir gradyan - iki veya daha fazla renk arasında yumuşak bir geçiş - bir web tasarımcısının en iyi arkadaşı haline geldi. Özellikle popüler olan, göze çarpmayan bir derinlik ve doku hissi yaratan ince, ince gradyan dolgulardır.
Bazen bir GIF, bir degrade için en iyi seçimdir. Degrade basit bir iki renkli geçişse, GIF içinde kusursuz çalışır. Bununla birlikte, GIF'in yalnızca 256 renkle sınırlandırılması, genellikle daha karmaşık gradyan geçişleri arasında fark edilir ve dağınık bir "bantlanma" yaratır. Öte yandan JPEG, oldukça düzgün gradyanlar üretebilir, ancak çoğu zaman daha büyük bir dosya boyutu pahasına. JPEG gradyanları genellikle yeterince iyi olsa da, JPEG'in kayıplı sıkıştırma kullandığını unutmayın; bu, elde edilen görüntünün asla sıkıştırılmamış görüntünün kalitesiyle eşleşmeyeceği anlamına gelir.

Söz konusu tipik arka plan gradyan stili, düğmeler, kutular veya başka herhangi bir yerde kullanılır. Şekil 5-1 gibi görünebilir. Saat yönünde, sol üstten orijinal (sıkıştırılmamış) görüntüyü, GIF sürümünü, PNG sürümünü ve JPEG'i görüyoruz. Sonuçta PNG'nin en küçük boyuta (515 bayt) sahip olduğunu görebilirsiniz. Bu, GIF görüntüsünden dört kat daha küçüktür. JPEG, 637 baytta PNG'den biraz daha büyüktür ve kayıplı sıkıştırma nedeniyle kalite bakımından da düşüktür (bu basit örnekte insan gözünün kalite farkını belirleme yeteneği şüpheli olsa da).

Şekil 5-1
Photoshop paneli - Web İçin Kaydet,
aynı görüntü için dosya boyutu farklılıklarını farklı biçimlerde gösterme

Herhangi bir arka planda çalışması gereken bir görüntü

Bazen farklı alt tabakalarda aynı işlemi gerçekleştiren bir görüntü oluşturmak gerekir. Bazı yaygın örnekler logolar ve simgelerdir. Bu durumlara geleneksel olarak GIF'ler hakim olmuştur, ancak PNG'nin bu durumda daha iyi bir seçim olmasının birkaç nedeni vardır. PNG, logolar veya diğer bazı basit "sanatlar" için dosya boyutunda kazanma eğilimindedir. Ayrıca PNG'nin doğal şeffaflığı, herhangi bir arka plan üzerinde çalışan tek dosyalar oluşturmayı kolaylaştırır. PNG, GIF gibi ikili saydamlık sunar, ancak piksellerin yalnızca açık veya kapalı olmak yerine kısmen saydam olabileceği bir alfa kanalıyla çok daha arzu edilen bir seçenek sunar. İkincisini kullanmak dosya boyutunu artırır, bazen ikili saydamlığa sahip bir GIF'ten bile daha fazla, ancak görüntünüzün kenarlarında yumuşatmaya izin verir ve onu bir arka plan üzerine yerleştirmeyi daha zarif hale getirir.

Ancak, şablon sembolleri olan beyaz bir görüntü kullanarak konseptlerini elden geçirdim. Şeffaf bir arka plan üzerinde genellikle oldukça etkili olabilecek beyaz bir sembol kullandılar. Bu durumda, arka planınız css rengi sembolün kendisi yerine sembolün etrafındaki kare veya dikdörtgen bir alanda görünür.

Hem Dan hem de PJ, PNG yerine şeffaf GIF kullandı. Bu, ihtiyaçlarını tamamen karşıladı ve simgelerin stili için pikselli görüntüler oluşturmak zorunda kaldılar. PNG ile benzer bir teknik elde edebilirsiniz, ancak daha ayrıntılı simgelerde kullanım için kenar yumuşatma ve kısmi şeffaflık ek avantajı ile.

Tamam, ama hangi tarayıcılarda çalışıyor?

Ne düşündüğünüzü biliyorum: tüm bu PNG şeffaflığı iyi görünüyor, ancak pratik mi?

İyi haber şu ki, tüm modern tarayıcılar, faydalarını örneklerde gösterdiğim alfa kanalı saydamlığı da dahil olmak üzere PNG resimlerini tam olarak destekliyor. Safari (tüm sürümler), Firefox (tüm sürümler), Opera (sürüm 6 ve üzeri), Netscape (sürüm 6 ve üzeri) ve Mozilla (tüm sürümler), onlardan yapmalarını istediğim her şeyi bir patlama ile yapacak. Ancak kötü haber, kullanıcılarınızın çoğunda henüz bahsetmediğim bir tarayıcı: Internet Explorer.

Internet Explorer 6 ve altı, PNG biçiminde katıştırılmış alfa kanalı saydamlığını desteklemez. Birçok web sörfçüsü için tarayıcı seçimi (veya seçim değil) yapıldığından, bu boşluk web tasarımcılarını PNG'den uzak tuttu. Ancak, Internet Explorer 7'nin piyasaya sürülmesiyle birlikte, tüm büyük tarayıcılarda PNG alfa şeffaflığı için tam destek aldık. Sırada ne var, Internet Explorer 6 ve daha düşük sürümlerde PNG alfa saydamlığıyla çalışmanın yolları var mı? Yani, bu efekti kullanmak istiyorsanız, hiçbir şey sizi durduramaz. Internet Explorer 6 ve önceki sürümleri gereğinden fazla dikkat gerektirir, ancak bu kesinlikle mümkündür.

Internet Explorer için Hack: AlphaImageLoader

Internet Explorer çeşitli yerel filtrelerle birlikte gelir. CSS'de kullanılırlar, ancak resmi CSS spesifikasyonunun bir parçası değildirler. Başka bir deyişle, web'de standartlaştırılmamışlardır. Ne yazık ki Internet Explorer 6 ve altı PNG biçimini (W3C tarafından önerilen) tam olarak desteklememektedir, Microsoft'un bu eksikliği gideren bir filtresi vardır: AlphaImageLoader.

Microsoft'un resmi web sitesindeki bir bölüme göre, AlphaImageLoader "bir nesnenin sınırları içinde ve nesnenin arka planı ile içeriği arasında bir görüntü görüntüler." Başka bir deyişle, AlphaImageLoader tam şeffaflığıyla bir PNG görüntüsü yükler, ancak onu, uygulandığı nesnenin içeriğinin altında kendi katmanı olarak yükler. Bu şekilde yüklenen PNG görüntüleri, ön plan görüntülerinden daha çok arka plan görüntüleri gibi davranır (aslında nesnenin arka planının üzerine "otursalar" da).

Genel olarak, CSS'de AlphaImageLoader'ı img öğelerine uygulayabilir ve sonucun keyfini çıkarabilirsiniz. Önce görüntü yüklenecek, saydamlık kalacaktır, ancak daha sonra görüntü - nesnenin ön içeriği olarak - opak alanlarla yeniden yüklenecektir (böylece şeffaf sürümünüzü "gölgelendirir").

Arka plan olarak şeffaf bir PNG kullanamazsınız css resmi(X)HTML öğesi için (örneğin

) ve AlphaImageLoader'ın işi Internet Explorer'da düzgün yapmasını bekleyin. AlphaImageLoader'ın resminizi nesnenin arka planı ve ön planı arasına eklediğini unutmayın. Bu nedenle, resminizi tüm şeffaf ihtişamıyla yüklerken, aynı zamanda harika yarı saydam pikselleriniz olmadan bir CSS arka plan resmi olarak yüklemeye devam edecektir.

AlphaImageLoader'ın gerçek kullanımı

Daha önceki örneklerden birine geri dönelim ve Internet Explorer'a doğru şekilde yüklemeyi deneyelim. Topeka'daki TV kanalı Kanal 49'u hatırlıyor musunuz? eminim evet. Şekil 5-21, sitenin Internet Explorer 6'da nasıl göründüğünü gösterir.


Şekil 5-21
49abcnews.com başlığı, PNG şeffaflığı bozulmadan Windows için Internet Explorer 6'da işlendi.

Hava durumuyla ilgili en iyi HTML, zaten tahmin etmiş olabileceğiniz gibi görünüyor:

Şu anda Topeka, KS'de:
82°
Tahmini ve daha fazlasını öğrenin...

Bir resim görüyorsunuz ve bu kesinlikle bir PNG, Internet Explorer bile onu kusursuz bir şekilde yükler. Bunun gizli bileşeni JavaScript'tir. Aslında, img öğesini anında kaldırmak ve onu - tahmin ettiğiniz gibi - AlphaImageLoader'ı kullanan bir div öğesiyle değiştirmek için biraz DOM komut dosyası kullandım. JavaScript, Microsoft'un Internet Explorer'da yerleşik bir başka kullanışlı ancak tamamen standartlaştırılmamış deyimi olan koşullu yorumlar içinde açıklanmıştır. Koşullu yorumlar, yalnızca Internet Explorer'ın bilinen bir sürümü için kod kullanmanıza izin verir. Kod, diğer tüm tarayıcılar tarafından yok sayılır, bu nedenle onları hiçbir şekilde etkilemez. öğede www.49abcnews.com web sitesinde şunları bulacaksınız:

İlk satır sayesinde, eğer lte IE6 ise, bu komut dosyası, yalnızca bir Internet Explorer sürümünde (lte ile belirtilir) 6'dan küçük veya ona eşit olarak gösteriliyorsa işlenen belgeye dahil edilecektir. Yeni gelen İnternet dahil tüm diğer tarayıcılar. Explorer 7, bunu tamamen görmezden gelecek.

Peki fixWeatherPng.js JavaScript dosyasında neler var? Hadi bir bakalım:

Window.attachEvent("yükleme", fixWeatherPng); function fixWeatherPng() ( var img = document.getElementById("weatherImage"); var src = img.src; img.style.visibility = "gizli"; var div = document.createElement("DIV"); div.style. filtre = "progid:DXImageTransform.Microsoft.AlphaImageLoader(+ kaynak + "", boyutlandırma="ölçek""; // 49abcnews.com'a özgü bazı CSS stilleri, kısa olması için çıkarılmıştır. img.replaceNode(div); )

Komut dosyasının ne yaptığını adım adım analiz edelim. Öncelikle tarayıcıya sayfa yüklendiğinde fixWeatherPng işlevini yürütmek istediğimizi söylüyoruz. Komut dosyasının geri kalanı işlevin kendisidir.

Başlamak için önce üzerinde çalışacağımız resmi id özelliği ile arar ve img değişkeninde saklarız. src niteliğini (resim dosyasının URL'si) src değişkeninde saklarız. Ardından, görünürlük CSS özelliğini gizli olarak ayarlayarak img öğesini gizleriz.

Orijinal img öğesini (gizli olan), AlphaImageLoader'ın başarıyla eklendiği yeni oluşturulmuş bir div öğesiyle değiştiriyoruz.

AlphaImageLoader'ınızı enjekte etmek için DOM komut dosyası kullanma - anında bitleri filtreleme - kötü ama gerekli bir yanı vardır - kötü CSS. Ayrıca, anlamsal olmayan div öğeleri (X)HTML işaretlemenizin dışında tutulacaktır. Ve hepsi koşullu yorumlarda açıklandığı sürece, diğer tarayıcıların Microsoft'un kodu tarafından bozulma şansı yoktur. (kullanışlı blogger: Burada Jeff, Microsoft'un "beceriksiz" bir çözümünü ustaca göstermeye çalışıyor)

Yanlış bir şey yapmanız gerekiyorsa, en azından onu ayıklayabilir ve ihtiyacı olmayan her şeyden ayrı tutabilirsiniz.

Gözaltında

Bir grafik formatı olarak PNG, GIF'lerde yaygın olarak kullanılanların ötesinde birçok teknik avantaj sunar. Aslında, faydaları o kadar büyük ki, PNG uzun zaman önce fotoğraf görüntüleri ile ilgisi olmayan bir grafik formatı olarak devralabilirdi. Internet Explorer'ın alfa kanalı şeffaflığı gibi daha önemli PNG özelliklerinden bazılarını desteklememesi, sonuç olarak birçok web geliştiricisini devre dışı bıraktı. Ancak PNG'den korkmamanız için çok iyi iki neden var.

İlk olarak, Internet Explorer 6 ve önceki sürümleri bile GIF'in yapabilecekleri açısından (elbette animasyon hariç) PNG'yi neredeyse tamamen destekler. PNG neredeyse her zaman daha küçük bir dosya boyutu göstererek daha hızlı yüklenmelerine ve daha az kaynak kullanmalarına olanak tanır.

İkincisi, Internet Explorer 7 PNG alfa şeffaflığı için tam destek sunar. Yarı saydam seçeneklerin tam gamıyla elde edilebilecek etkiler neredeyse sınırsızdır. Bu makalede anlatılanlar gibi PNG şeffaflığını kullanmanın ilginç yollarını bulan tasarımcıların, daha önce hiç görülmemiş yeni bir stil düzeyine kapı açmalarını bekliyorum. PNG şeffaflığı ile neler yaratabileceğiniz konusunda size bazı faydalı fikirler verdim, ancak bununla yetinmeyin. Kendin için bak!

Cameron Adams, Mark Boulton, Andy Clarke, Simon Collison, Jeff Croft, Ethan Marcotte, Derek Featherstone, Ian Lloyd, Dan Rubin ve Rob Weychert'in Web Standartları Yaratıcılığından bir alıntı; ED'nin arkadaşları tarafından gönderildi. Telif hakkı Jeff Croft 2007. Apress, Inc.'in izniyle kullanılmıştır.