<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    隨筆-57  評論-129  文章-0  trackbacks-0
    最近在搞JSI 的重構(gòu),少來冒泡了。
    發(fā)一個(gè)中午的剛用到的小技巧:

    在關(guān)機(jī)效果實(shí)現(xiàn)上,現(xiàn)在一般根據(jù)瀏覽器特征分別使用 慮鏡/樣式/圖片 去模擬。

    其中Opera是不支持網(wǎng)頁透明的,只能用png的alpha透明模擬。
    所以,我們需要一張?zhí)貏e的小圖片。一個(gè)象素,alpha透明。

    但是這個(gè)單象素圖片的出現(xiàn),感覺有點(diǎn)怪怪的,而且當(dāng)網(wǎng)速很慢的時(shí)候,裝載這個(gè)小圖片還會(huì)延遲,效果不好。

    不過,Opera的另外一個(gè)特性,可以避免這個(gè)問題:data:協(xié)議的支持。

    對于這種小圖片,完全可以編碼到樣式里面

    background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAADUlEQVR42mM4ffp0AwAHqALiYeNxSgAAAABJRU5ErkJggg==)


    好了,如此一來,關(guān)機(jī)效果的實(shí)現(xiàn),就沒有圖片這個(gè)累贅了。


    圖片的生成:

    圖片的生成,浪費(fèi)我一個(gè)中午的時(shí)間:(
    開始本想找個(gè)軟件做掉,最后沒發(fā)現(xiàn)一個(gè)如意的,干脆,自己看看api,自己寫了一下:
    代碼如下:
        public static void main(String[] args) throws IOException {
            BufferedImage image 
    = new BufferedImage(11,
                    BufferedImage.TYPE_INT_ARGB);
            Graphics2D g2d 
    = image.createGraphics();
            
    // RGBA #cccccc80
            g2d.setColor(new Color(0xcc0xcc0xcc0x80));
            g2d.fillRect(
    0011);
            g2d.dispose();
            IIOImage iioImage 
    = new IIOImage(image, nullnull);
            ImageTypeSpecifier type 
    = ImageTypeSpecifier
                    .createFromRenderedImage(image);
            ImageWriter writer 
    = (ImageWriter) ImageIO.getImageWriters(type, "png")
                    .next();
            ByteArrayOutputStream out 
    = new ByteArrayOutputStream();
            writer.setOutput(ImageIO.createImageOutputStream(out));
            writer.write(
    null, iioImage, null);
            BASE64Encoder encoder 
    = new BASE64Encoder();
            String result 
    = encoder.encode(out.toByteArray()).replaceAll("[\r\n]",
                    
    "");
            System.out.println(
    "data:image/png;base64," + result);
        }


    需要其他顏色,自己修改一下代碼即是。
    posted on 2007-05-18 15:30 金大為 閱讀(1301) 評論(1)  編輯  收藏

    評論:
    # re: 關(guān)于網(wǎng)頁上半透明遮罩的優(yōu)化(關(guān)機(jī)效果) 2007-06-22 14:43 | 金大為
    經(jīng)測試得:
    除ie外,瀏覽器基本都支持png Alpha透明及data協(xié)議,所以,這種遮罩代碼可以簡化為:
    if(BrowserInfo.isIE()){
    masker.style.background = "#CCCCCC";
    masker.style.filter = "Alpha(opacity=50)";
    //}else if(BrowserInfo.isGecko()){
    // masker.style.background = "#CCCCCC";
    // masker.style.MozOpacity = 0.5;
    //}else if(BrowserInfo.isKhtml()){//support png alpha?? need test..yes support
    // masker.style.background = "#CCCCCC";
    // masker.style.KhtmlOpacity = 0.5;
    //}else if(BrowserInfo.isOpera(9)){
    // masker.style.opacity = 0.5;
    }else{
    //masker.style.background = "#CCCCCC";
    masker.style.backgroundImage = "url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAADUlEQVR42mM4ffp0AwAHqALiYeNxSgAAAABJRU5ErkJggg==)";
    }  回復(fù)  更多評論
      

    只有注冊用戶登錄后才能發(fā)表評論。


    網(wǎng)站導(dǎo)航:
     
    主站蜘蛛池模板: 亚洲精品视频在线免费| 亚洲电影一区二区| 无码国产精品一区二区免费| 亚洲熟妇av一区二区三区| 人人揉揉香蕉大免费不卡| 亚洲午夜久久久久久尤物| 国产av无码专区亚洲av果冻传媒 | 亚洲婷婷在线视频| 中文字幕精品亚洲无线码一区| 精品国产污污免费网站| 亚洲成A∨人片在线观看无码| 免费无码又爽又刺激毛片| 精品国产污污免费网站入口在线| 久久久久亚洲AV片无码| 亚洲一级片免费看| 免费精品国产自产拍观看| 男男AV纯肉无码免费播放无码 | 国产资源免费观看| 性做久久久久久久免费看| 18禁黄网站禁片免费观看不卡| 亚洲av无码专区在线电影| 亚洲xxxxxx| 亚洲福利电影在线观看| 日韩精品亚洲人成在线观看| 午夜小视频免费观看| 香蕉97超级碰碰碰免费公| 18以下岁毛片在免费播放| 无码成A毛片免费| 久草免费福利资源站| 成人性做爰aaa片免费看| 国产午夜无码片免费| 中文字幕免费在线播放| 中文有码亚洲制服av片| 亚洲精品成人无限看| 国产亚洲综合成人91精品| 亚洲AV综合色区无码一区| 国产在线19禁免费观看| 亚洲第一网站男人都懂| 亚洲精品国产精品乱码不卡| 亚洲中文字幕伊人久久无码| 无码一区二区三区免费视频|