2008-11-14 8 views
5

से पीएनजी 8 कैसे बता सकते हैं मैं पारदर्शिता के लिए बहुत सी पीएनजी 24 फाइलों का उपयोग करने वाली वेबसाइट पर काम कर रहा हूं।आप png24

मैं के रूप में png24 कारण IE6 के लिए सभी png ठीक शैली जावास्क्रिप्ट समाधान बेतरतीब ढंग से बंद करने के लिए, उन्हें PNG8 फाइलों के साथ बदलने के लिए की जरूरत है।

लक्षण IE6 प्रदर्शित करता है की एक विचार पाने के लिए यह लिंक देखें - http://blogs.cozi.com/tech/2008/03/transparent-pngs-can-deadlock-ie6.html

किसी मौजूदा png24 फ़ाइलों को लक्ष्य करते समय उन्हें png8s साथ बदलने के लिए का एक आसान तरीका पता है?

मैं ओएस एक्स का उपयोग कर रहा हूं, और एडोब ब्रिज जैसे फाइल ब्राउज़र यह नहीं दिखाते हैं, और न ही मुझे कमांडलाइन या खोजक पर जानकारी मिल सकती है।

सहायता!

उत्तर

7

पर OSX file उपयोगिता आप एक PNG फ़ाइल में रंग गहराई, उदा बता सकते हैं:

% file foo.png 
foo.png: PNG image data, 1514 x 1514, 8-bit grayscale, non-interlaced 
0

शायद imagemagick आप png24 फ़ाइलें परिवर्तित फ़ाइलों PNG8 करने में मदद मिलती है।

1

मुझे लगता है कि आप गलत सवाल पूछने जा सकता है। पीएनजी 8 में सत्य-अल्फा नहीं है जिसे आप IE6 में ठीक करने के लिए कड़ी मेहनत कर रहे हैं। यदि आप पीएनजी 24 के साथ पीएनजी 24 को प्रतिस्थापित करते हैं तो आप उन्हें जीआईएफ के साथ बदलने से बेहतर नहीं हैं।

शायद आप एक वैकल्पिक प्रतिस्थापन/फिक्स स्क्रिप्ट का परीक्षण कर सकते हैं - वहां कुछ चौंकाने वाले बुरे लोग हैं, शायद यही समस्या है?

यहाँ (और मैं गाल में इस जीभ का कहना है कि!) the right question

+2

पीएनजी-8 वास्तव में तालू पर हर रंग के साथ एक अल्फा मूल्य भंडारण का समर्थन करता है, तो, वह सही कार्यक्रम और अनुकूलन के साथ, वे बहुत अच्छी लग रही कर सकते हैं। अन्य उत्तरों में से एक देखें। –

+3

पीएनजी 8 जीआईएफ के समान नहीं है, क्योंकि पीएनजी 8 सेमी-पारदर्शी पिक्सल स्टोर कर सकता है, जहां जीआईएफ नहीं कर सकता है। फ़ोटोशॉप में यह क्षमता नहीं है (वेब ​​के लिए सहेजने का प्रयास करते समय), लेकिन जब आप पीएनजी 8 के रूप में निर्यात करने के लिए आतिशबाजी का उपयोग करते हैं तो यह बहुत स्पष्ट है। – RussellUresti

1

JoeBloggs सही है, तो आप गलत सवाल पूछ रहे हैं।

मैं एक अच्छा pngfix स्क्रिप्ट के साथ IE6 को तोड़ने के लिए किया था कभी नहीं किया है। आपको या तो एक खराब pngfix स्क्रिप्ट, या एक खराब आईई 6 स्थापित मिला है।

PNG8 अपने अच्छे ट्रांसपरेंसिस को बर्बाद और आप GIFs उपयोग कर रहे हैं यह देखने के लिए कर देगा।

3

आप वास्तव में पीएनजी -8 में अल्फा पारदर्शिता प्राप्त कर सकते हैं लेकिन यह बहुत जटिल है। http://www.sitepoint.com/blogs/2007/09/18/png8-the-clear-winner/ http://www.personal.psu.edu/drs18/blogs/davidstong/2007/09/png8_alpha_transparency_from_f.html

यह मूल रूप से IE6 के लिए पदार्थ और बेहतर ब्राउज़र के लिए अल्फा पारदर्शिता के साथ एक वास्तविक पीएनजी की तरह GIF बनाता है। यह एक और सुखद गिरावट पथ है। अभी, मुझे लगता है कि आपको आतिशबाजी की ज़रूरत है, लेकिन मैं अन्य विकल्पों की खोज कर रहा हूं।

2

एल्निटैक के जवाब देने के लिए जोड़ने के लिए, एक बार आप सभी PNG24 पाते हैं कि आप परिवर्तित करना चाहते हैं, तो आप बैच उन्हें कर सकते हैं सभी pngquant साथ:

pngquant -v -f --ext .png 256 *.png 

यह जगह में PNG8 करने के लिए सभी PNG फ़ाइलें धर्मान्तरित उन्हें अधिलेखित।

+0

ध्यान दें कि यह 32-बिट आरजीबीए पीएनजी को 8-बिट * या छोटे * आरजीबीए-पैलेट पीएनजी में परिवर्तित करता है। आप 'pngcheck * .png' चलाकर पैलेट को देख सकते हैं। अगर आपको किसी कारण से 8-बिट पैलेट की ज़रूरत है, तो [यह उत्तर] देखें (https://stackoverflow.com/a/1468389/96656)। –

+0

@MathiasBynens AFAIK ImageMagick रंग-गिनती भी करता है, इसलिए (निम्न गुणवत्ता के अलावा) छवि को समाप्त होने पर यह केवल 4 या 2 बिट्स की आवश्यकता होने पर पेंक्वक्वेंट से अलग नहीं होता है। – Kornel

+0

मैंने अपनी पिछली टिप्पणी पोस्ट करने से पहले इसका परीक्षण किया था। [यह उदाहरण छवि] (https://tibiamaps.github.io/tibia-map-data/minimap-with-markers/Minimap_Color_32000_32000_7.png) 32-बिट आरजीबी + अल्फा से 8 कन्वर्ट पैलेट से 'कन्वर्ट' का उपयोग कर जाता है , जबकि 'pngquant' इसे 4-बिट पैलेट में अनुकूलित करता है। (99% मामलों में जो वांछनीय होंगे, हालांकि मेरे पास यह अजीब उपयोग केस है जहां मुझे एक पैलेट की आवश्यकता है जो बिल्कुल 8-बिट है।) –

1

pngcheck, एक कमांड लाइन उपकरण, आपको आवश्यक जानकारी को डंप कर सकता है। http://www.libpng.org/pub/png/apps/pngcheck.html

pngcheck.exe a.png 
OK: a.png (1024x1024, 32-bit RGB+alpha, non-interlaced, 80.7%). 

pngcheck.exe b.png 
OK: b.png (1024x1024, 8-bit palette+trns, non-interlaced, 83.1%).