Readme.ge Blog

FB image FB image

png -ს გამჭვირვალობის პრობლემა IE-ში

ავტორი: ალექსანდრე თარიღი: Friday, July 13th, 2007

ოხ ეს საზიზღარი ნაცრისფერი ფონი რომელიც მოყვება png ფაილს IE-ში backround-ად. მისი მოგვარების გზა ბევრი მიკითხვ-მოკითხვის შემდეგ ვიპოვე შემდეგში.დავალებას ვასრულებთ შემდეგი თანმიმდევრობით

1. ვუშვებთ ფოტოშოფს
2. ვხსნით png ფაილს
3. ვირჩევთ რაიმე ისეთ ფერს, რომელიც არ არის სურათში
4. ამ ფერით ვავსებთ png ფაილის იმ ადგილებს, რომლებიც უნდა იყოს გამჭვირვალე.
5. შევდივართ პუნქტში Save For Web
6. მარჯვნივ ზევით ვირჩევთ შესანახ ტიპში PNG-8-ს.
7. გამოჩნდება ფერთა პალიტრა სადაც ერთ-ერთი ფერი იქნება ჩვენს მიერ ჩასხმული ფერი.
8. ვირჩევთ ამ ფერს და ფერების პალიტრის ქვევით ვაჭერთ მარცხნიდან პირველ პაწია ღილაკს რომელიც ჩასხმულ ფერს აქცევს გამჭვირვალედ.
9. ვაჭერთ Save-ს
პრინციპში ამითი ამ პრობლემის მოგვარება რეალურია მაგრამ ხშირ შემთხვევაში ამ ხერხის შედეგად მიიღება დაბალი ხარისხის სურათი.
არსებობს მეორე ხერხი, რომელსაც მე ვიყენებ და გამართულად მუშაობს. ამისთვის საჭიროა ფუნქცია –

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
// Makes alpha channels in IE 5.5 and 6.0 work properly.

function correctPNG()
{
var arVersion = navigator.appVersion.split("MSIE")
var version = parseFloat(arVersion[1])
if ((version >= 5.5) && (document.body.filters))
{
for(var i=0; i<document .images.length; i++)
{
var img = document.images[i]
var imgName = img.src.toUpperCase()
if (imgName.substring(imgName.length-3, imgName.length) == "PNG")
{
var imgID = (img.id) ? "id='" + img.id + "' " : ""
var imgClass = (img.className) ? "class='" + img.className + "' " : ""
var imgTitle = (img.title) ? "title='" + img.title + "' " : "title='" + img.alt + "' "
var imgStyle = "display:inline-block;" + img.style.cssText
if (img.align == "left") imgStyle = "float:left;" + imgStyle
if (img.align == "right") imgStyle = "float:right;" + imgStyle
if (img.parentElement.href) imgStyle = "cursor:hand;" + imgStyle
var strNewHTML = "<span " + imgID + imgClass + imgTitle + " style="" + "width:" + img.width + "px; height:" + img.height + "px;" + imgStyle + ";" + "filter:progid:DXImageTransform.Microsoft.AlphaImageLoader" + "(src=\'" + img.src + "\', sizingMethod='scale');">"
img.outerHTML = strNewHTML
i = i-1
}
}
}
}

და სამუდამოდ ვივიწყებთ ამ პრობლემას

P.S. არადა უხ IE-ს შემქნელებს!…

კატეგორიებში: HTML, Javascript. |

ერთი გამოხმაურება “png -ს გამჭვირვალობის პრობლემა IE-ში”-ზე

  1. laerekle:

    magaria dzaan!!!

დატოვე კომენტარი

...