Shaffoflik (grafik) - Transparency (graphic)

GIF an animatsiyasi Apolloniya sharlarini qadoqlash shaffof fon bilan

Shaffoflik bir qator grafik fayl formatlarida mumkin. "Shaffoflik" atamasi turli xil odamlar tomonidan turli xil usullarda qo'llaniladi, ammo eng sodda "to'liq shaffoflik", ya'ni umuman ko'rinmaydigan narsa mavjud. Grafikning faqat bir qismi to'liq shaffof bo'lishi kerak, aks holda hech narsa ko'rinmaydi. Keyinchalik murakkab "qisman shaffoflik" yoki "shaffoflik"[iqtibos kerak ] bu erda grafikaning rangli shisha bilan bir xil tarzda qisman shaffof bo'lishiga erishiladi. Oxir oqibat bosilgan sahifa yoki kompyuter yoki televizion ekran bir nuqtada faqat bitta rang bo'lishi mumkinligi sababli, qisman shaffoflik har doim ham ranglarni aralashtirish orqali biron bir darajada simulyatsiya qilinadi. Ranglarni aralashtirishning turli xil usullari mavjud, shuning uchun ba'zi hollarda shaffoflik noaniq.

Bundan tashqari, shaffoflik ko'pincha grafik format uchun "qo'shimcha" bo'ladi va ba'zi grafik dasturlar shaffoflikni e'tiborsiz qoldiradi.

Animatsiya qilingan PNG (APNG ) 8-bitli shaffoflik

Raster shaffoflikni qo'llab-quvvatlovchi fayl formatlari kiradi GIF, PNG, BMP, TIFF, TGA va JPEG 2000, a orqali shaffof rang yoki an alfa kanali.

Ko'pchilik vektor formatlar shaffoflikni bevosita qo'llab-quvvatlaydi, chunki ular biron bir moslamani ma'lum bir nuqtaga qo'yishdan qochishadi. Bunga quyidagilar kiradi EPS va WMF. Forvektor grafikasi shaffoflik deb qaralmasligi mumkin, ammo buning uchun raster formatdagi shaffoflik kabi bir xil ehtiyotkorlik bilan dasturlash kerak.

Vektorning yanada murakkab formatlari yuqoridagi kabi grafadagi elementlar orasidagi shaffoflikni birlashtirishga imkon berishi mumkin. Bunga quyidagilar kiradi SVG va PDF.

Muvofiq raster grafik muharriri shaffoflikni maxsus naqsh bilan namoyish etadi, masalan. shaxmat taxtasi.

Shaffof piksellar

Ushbu rasm ikkilik shaffoflikka ega (ba'zi piksellar to'liq shaffof, boshqa piksellar esa to'liq shaffof emas). U har qanday fonda shaffof bo'lishi mumkin, chunki u monoxromdir.

Bitta GIF yoki PNG rasm palitrasidagi bitta rangli yozuv haqiqiy rang emas, balki "shaffof" deb belgilanishi mumkin. Bu shuni anglatadiki, dekoder ushbu qiymat bilan pikselga duch kelganda, u ekranning rasm joylashtirilgan qismining fon rangida, shuningdek, agar bu fon holatidagi kabi pikselli pikselga o'zgarib turadigan bo'lsa. rasm.

Ilovalarga quyidagilar kiradi:

  • to'rtburchaklar bo'lmagan rasm shaffof atrof-muhit yordamida kerakli to'rtburchakka to'ldirilishi mumkin; rasmda hatto teshiklar ham bo'lishi mumkin (masalan, halqa shaklida)
  • matnning bir qismida, belgi to'plamida mavjud bo'lmaganligi sababli rasm ishlatilgan maxsus belgiga shaffof fon berilishi mumkin, natijada mos keladigan fon paydo bo'ladi.

Shaffof rang bir xil rangda yo'q bo'lib ketishiga yo'l qo'ymaslik uchun ehtiyotkorlik bilan tanlanishi kerak.

Shaffoflikning ushbu cheklangan shakli ham patchy dasturiga ega, garchi eng mashhur veb-brauzerlar shaffof GIF-rasmlarni namoyish etishga qodir. Ushbu qo'llab-quvvatlash ko'pincha bosib chiqarishga, ayniqsa bosib chiqarish qurilmalariga (masalan,) taalluqli emas PostScript ) qurilmada yoki haydovchida shaffoflikni qo'llab-quvvatlashni o'z ichiga olmaydi. Veb-brauzerlar dunyosidan tashqarida, shaffof GIF fayllarini qo'llab-quvvatlash juda qiyin.

Shaffof piksellarning cheklovlari

Ushbu rasm ikkilik shaffoflikka ega. Biroq, bu kul rang, bilan begonalashtirish, shuning uchun u faqat oq fonda yaxshi ko'rinadi. Boshqa fonga o'rnatilsa, kulrang soyalardan "sharpa" effekti paydo bo'ladi.

Shaffof fonga ega bo'lgan belgilar va boshqa rasmlarning chekkalari bo'lmasligi kerak kulrang soyalar: ular odatda harf / rasm va fon ranglari orasidagi oraliq ranglar uchun ishlatiladi, odatda kulrang soyalar qora harf va oq fon o'rtasida oraliq bo'ladi. Biroq, masalan, qizil fon bilan oraliq ranglar to'q qizil rangga ega bo'ladi. Kulrang piksellar chirkin va tushunarsiz natija beradi. O'zgaruvchan fon rangi uchun mos sobit oraliq ranglar mavjud emas.

Alfa kanallari tomonidan qisman shaffoflik

Ushbu rasm qisman shaffoflikka ega (to'liq shaffof va to'liq shaffof bo'lmagan 254 darajadagi shaffoflik darajasi). Bu anti-laqabli bo'lishiga qaramay, har qanday fonda shaffof bo'lishi mumkin.

PNG va TIFF kabi ba'zi rasm formatlari, shuningdek, chekka cheklash muammosini hal qiladigan alfa kanali orqali qisman shaffoflikka imkon beradi. Shaffof yoki shaffof bo'lmagan har bir piksel o'rniga, u 254 darajadagi qisman shaffof darajaga o'rnatilishi mumkin, bu esa fon rasmining bir qismini oldingi rasm orqali ko'rsatishga imkon beradi.

Qisman shaffoflikning asosiy qo'llanilishi grafikada "yumshoq qirralar" hosil qilishdir, shunda ular o'zlarining foniga aralashadilar.[1] Shuningdek qarang monoxrom yoki kulrang soyalar bilan va begonalashtirish. Qisman shaffoflik tasvirni unchalik ko'rinmaydigan qilish uchun ham ishlatilishi mumkin, masalan, suv belgisi yoki boshqa logotip; yoki video o'yindagi xayolparastlik kabi biron bir narsani ko'rish uchun. Tasvirni tahrirlash dasturida alfa kanalini jonlantirish turli xil tasvirlar o'rtasida silliq o'tishga imkon beradi.

Qisman shaffof rangni uning fonida ("kompozitsion") birlashtirish jarayoni ko'pincha aniqlanmagan va natijalar barcha holatlarda bir xil bo'lmasligi mumkin. Masalan, ranglarni tuzatish qo'llanilayotgan joyda, ranglarni tuzatishdan oldin yoki keyin kompozitsiya qilish kerakmi?

Ushbu rasm yuqoridagi shaffof PNG rasmlarning har birini # 6080A0 fon rangida joylashtirish natijalarini ko'rsatadi. O'rta rasm harflaridagi kulrang chekkalarga e'tibor bering.
Bu yuqoridagi rasmlarni, masalan, ularni tahrirlashda qanday ko'rinishini ko'rsatadi. Kulrang va oq ranglarni tekshirish shaffoflikka aylantiriladi.

Kesish yo'li bilan shaffoflik

To'liq shaffoflikka alternativ yondoshish - bu foydalanish Kesish yo'li. Kesish yo'li - bu boshqa grafikalar bilan birgalikda ishlatiladigan oddiygina shakl yoki kontur. Yo'l ichidagi hamma narsa ko'rinib turadi va yo'ldan tashqaridagi hamma narsa ko'rinmas. Yo'l o'z-o'zidan vektordir, lekin potentsial ravishda ikkala vektor va bitmap ma'lumotlarini maskalash uchun ishlatilishi mumkin. Kesish yo'llarining asosiy ishlatilishi PostScript fayllarida.

Hisob-kitoblarni tuzish

Shaffoflikning ba'zi bir xususiyatlari noaniq bo'lsa-da, boshqalari ikkita rangni qanday tuzish kerakligi haqida matematik tafsilotlarni berishi mumkin. Bu kompozitsion hisob-kitoblarning qanday ishlashi, kutilgan natijalarni berishi va kutilmagan hodisalarni keltirib chiqarishi mumkinligi haqida juda oddiy misol keltiradi.

Ushbu misolda ikkita kulrang rangni yaratish kerak. Kulrang rangdagi qiymatlar 0,0 (oq) va 1,0 (qora) orasidagi raqamlar deb hisoblanadi. Ta'kidlash kerak: bu shaffoflik uchun mumkin bo'lgan yagona qoida. Agar shaffoflik bilan ishlayotgan bo'lsangiz, sizning holatingiz uchun ishlatilayotgan qoidalarni tekshiring.

G1 va G2 ranglarini birlashtirish kerak bo'lgan nuqtadagi rang (G1 + G2) / 2.Buning ba'zi oqibatlari:

  • Ranglar teng bo'lgan joyda natija bir xil rangga ega bo'ladi, chunki (G1 + G1) / 2 = G1.
  • Qaerda bitta rang (G1) oq bo'lsa (0,0), natija G2 / 2. Bu har doim G2 ning nolga teng bo'lmagan qiymatidan kam bo'ladi, shuning uchun natija G2 ga qaraganda oqroq bo'ladi. (Bu G2 oq bo'lgan holat uchun osongina qaytariladi).
  • Qaerda bitta rang (G1) qora (1.0) bo'lsa, natija (G2 + 1) / 2. Bu har doim G2 dan yuqori bo'ladi, shuning uchun natija G2 ga qaraganda qora rangga ega bo'ladi.
  • Formulasi: kommutativ beri (G1 + G2) / 2 = (G2 + G1) / 2. Bu shuni anglatadiki, qaysi tartibda ikkita grafik aralashtirilganligi muhim emas, ya'ni ikkitadan qaysi biri tepada, qaysi biri pastda.
  • Formulasi: emas assotsiativ beri
((G1 + G2) / 2 + G3) / 2 = G1 / 4 + G2 / 4 + G3 / 2 (G1 + (G2 + G3) / 2) / 2 = G1 / 2 + G2 / 4 + G3 / 4

Bu shaffoflik uchun uchta yoki undan ortiq ob'ektni ushbu qoida bilan birlashtirganda, yakuniy rang hisob-kitoblarni bajarish tartibiga bog'liqligini anglatishi bilan muhimdir.

Formulasi sodda bo'lsa ham, u ideal bo'lmasligi mumkin. Insonning yorqinligini anglashi chiziqli emas - biz kul rang 0,5 ga teng bo'lsa, u oq va qora o'rtasida yarim yo'l deb o'ylashimiz shart emas. Shaffoflik faqat qirralarni yumshatish uchun ishlatilganda, bunday tafsilotlar ahamiyatsiz bo'lishi mumkin, ammo murakkab dizaynlarda bu muhim bo'lishi mumkin. Shaffoflik bilan jiddiy ishlaydigan ko'pchilik odamlar natijalarni ko'rishlari kerak va kerakli natijalarga erishish uchun ranglar yoki (agar iloji bo'lsa) algoritm bilan skripka qilishlari mumkin.

Ushbu formulani osongina umumlashtirish mumkin RGB rang yoki CMYK formulani har bir kanalga alohida qo'llash orqali rang. Masalan, final qizil = (R1 + R2) / 2. Ammo uni barcha rangli modellarga qo'llash mumkin emas. Masalan, Laboratoriya rangi ajablantiradigan natijalarni keltirib chiqaradi.

Muqobil model shaffoflik uchun birlashtiriladigan har bir elementning har bir nuqtasida 0 va 1 oralig'idagi rang va xira rang mavjud bo'lishidir, har bir rang kanali uchun siz ushbu model bilan ishlashingiz mumkin: agar intensivligi bo'lgan kanal bo'lsa G2 va xiralik T2 kanalni zichligi bilan qoplaydi G1 va xiralik T1 natija intensivligi teng bo'lgan kanal bo'ladi (1 - T2) * G1 + G2va xiralik 1 - (1 - T2) * (1 - T1). Har bir kanal kompozitsiyadan oldin tegishli alfa qiymatiga ko'paytirilishi kerak (shunday deyiladi) oldindan tayyorlangan alfa ). SVG fayl spetsifikatsiyasi ushbu aralashmani qo'llaydi va bu PDF formatida ishlatilishi mumkin bo'lgan modellardan biridir.

Alfa kanallari shu tarzda amalga oshirilishi mumkin, bu erda alfa kanali barcha boshqa kanallarga teng ravishda tatbiq etilishi uchun xiralik darajasini ta'minlaydi. Yuqoridagi formula bilan ishlash uchun xiralikni tashqi ko'rinishi qanday bo'lishidan qat'iy nazar 0 dan 1 oralig'iga qadar kattalashtirish kerak (ko'pincha "RGBA" kabi 8 bitli namunalardan foydalansangiz 0 dan 255 gacha).

PDF-dagi shaffoflik

PDF standartining 1.4 versiyasidan boshlab (Adobe Acrobat versiya 5), ​​shaffoflik (shu jumladan shaffoflik) qo'llab-quvvatlanadi. PDF-fayllardagi shaffoflik yaratuvchilarga turli xil effektlarni, shu jumladan ob'ektlarga soyalarni qo'shishni, ob'ektlarni yarim shaffof qilishni va ob'ektlarning bir-biriga yoki matnga aralashishini ta'minlaydi. PDF har xil aralashtirish rejimlarini qo'llab-quvvatlaydi, shunchaki eng keng tarqalgan o'rtacha hisoblash usuli va bir-birining ustiga chiqadigan ko'plab moslamalarni kompozitsiya qilish qoidalari tanlov qilishga imkon beradi (masalan, bir guruh ob'ektlar fon bilan aralashtirishdan oldin aralashtirilganmi yoki har bir ob'ekt o'z navbatida aralashtirilganmi? fonda).

PDF shaffofligi juda murakkab model bo'lib, uning Adobe tomonidan asl spetsifikatsiyasi 100 sahifadan oshadi. Murakkablikning asosiy manbai bu ob'ektlarni har xil bilan aralashtirishdir rang oraliqlari hiyla-nayrang va xavfli bo'lishi mumkin, shuningdek sabab bo'lishi mumkin moslik masalalar. PDF-da shaffoflik PDF-tomoshabinlarida uni tushunmaydigan xatolarga yo'l qo'ymaslik uchun ishlab chiqilgan - ular shunchaki barcha elementlarni to'liq shaffof bo'lmagan holda namoyish qilishlari kerak edi. Biroq, bu ikki qirrali qilich edi, chunki eski tomoshabinlar, PDF printerlari va boshqalar bo'lgan foydalanuvchilar asl dizaynidan butunlay boshqacha narsalarni ko'rishlari yoki bosib chiqarishlari mumkin edi.

PDF shaffofligi modeli juda murakkab ekanligi, u yaxshi qo'llab-quvvatlanmaganligini anglatadi. Bu shuni anglatadiki, RIP va printerlarda shaffoflik bilan PDF formatida chop etishda ko'pincha muammolar mavjud. Buning echimi - rasmni rasterlashtirish yoki PDF-ga vektor shaffofligini tekislashni qo'llash. Biroq, vektorning shaffofligini tekislash juda murakkab va faqat bir nechta maxsus paketlar tomonidan qo'llab-quvvatlanadi.

PostScript-dagi shaffoflik

The PostScript tili PostScript darajasiga qarab to'liq (qisman bo'lmagan) shaffoflikni cheklab qo'ygan. Pdfmark kengaytmasi bilan qisman shaffoflik mavjud,[2] ko'plab PostScript dasturlarida mavjud.

1-daraja

1-darajali PostScript shaffoflikni ikki usul orqali taqdim etadi:

  • Bir bitli (monoxrom) tasvirni niqob sifatida ko'rib chiqish mumkin. Bu holda 1-bitni istalgan rangga bo'yash mumkin, 0-bit esa umuman bo'yalmaydi. Ushbu texnikani bir nechta ranglarda yoki vektor shakllarida umumlashtirish mumkin emas.
  • Kesish yo'llarini aniqlash mumkin. Ular keyingi barcha grafikalarning qaysi qismini ko'rish mumkinligini cheklaydi. Bu har qanday grafik uchun ishlatilishi mumkin, ammo 1-darajadagi yo'ldagi maksimal tugun soni ko'pincha 1500 bilan cheklangan, shuning uchun murakkab yo'llar (masalan, odamning bosh fotosuratida sochlarni kesish) ko'pincha muvaffaqiyatsiz tugadi.

2-daraja

2-darajali PostScript shaffoflikning o'ziga xos xususiyatlarini qo'shmaydi. Biroq, naqshlardan foydalangan holda, o'zboshimchalik bilan grafikani har qanday vektor yoki matn operatsiyalari bilan aniqlangan maskalar yordamida bo'yash mumkin. Biroq, buni amalga oshirish juda murakkab. Bunga qo'shimcha ravishda, bu tez-tez amalga oshirish chegaralariga etib bordi va ushbu texnikani taklif qiladigan dasturlar juda kam.

3-daraja

3-darajali PostScript har qanday raster tasvir uchun qo'shimcha shaffoflik imkoniyatini qo'shadi. Shaffof rang yoki ranglar diapazoni qo'llanilishi mumkin; yoki alfa kanalini ta'minlash uchun alohida 1 bitli niqobdan foydalanish mumkin.

Kapsüllenmiş PostScript

EPS fayllari PostScript-ni o'z ichiga oladi, ular 1, 2 yoki 3 darajali bo'lishi mumkin va yuqoridagi xususiyatlardan foydalaniladi. Odatda ekranda EPS faylining ko'rinishini ko'rsatish uchun ishlatiladigan EPS fayllarini oldindan ko'rish bilan bog'liq nozik muammo yuzaga keladi. Oldindan ko'rishda shaffoflikni o'rnatish uchun hayotiy texnikalar mavjud. Masalan, TIFFni oldindan ko'rishda TIFF alfa kanali ishlatilishi mumkin. Biroq, ko'pgina ilovalar ushbu shaffoflik ma'lumotidan foydalanmaydilar va shuning uchun oldindan ko'rishni to'rtburchaklar shaklida ko'rsatadilar. Yarim mulkiy texnika kashshof bo'lgan Fotoshop presslashdan oldingi bir qator dasturlar tomonidan qabul qilingan bo'lib, bu kesish joyini EPS-ning standart joyida saqlash va undan foydalanish uchun foydalanish.

Bundan tashqari, EPS oldindan ko'rishni ishlab chiqaradigan bir nechta dastur oldindan ko'rishda shaffoflik haqida ma'lumot hosil qiladi.

Ba'zi dasturlar oldindan ko'rib chiqishda oq rangni shaffof deb hisoblash orqali bu vaziyatdan chiqishga harakat qilishdi, ammo ba'zi oq tanlilar bo'lgan holatlarda bu ham muammoli emas shaffof.

Yaqinda oldindan ko'rishni umuman e'tiborsiz qoldiradigan dasturlar paydo bo'ldi; shuning uchun ular PostScript-ni sharhlash orqali oldindan ko'rishning qaysi qismlarini bo'yashlari haqida ma'lumot olishadi.

Shuningdek qarang

Adabiyotlar

  1. ^ Kroft, Jef. "Veb-dizayndagi PNG shaffofligidan ijodiy foydalanish". digiwebs. Olingan 14 sentyabr 2020.
  2. ^ Adobe (2005-10-02). "pdfmark ma'lumotnomasi" (PDF). Olingan 2009-08-12.

Tashqi havolalar