五月综合缴情婷婷六月,色94色欧美sute亚洲线路二,日韩制服国产精品一区,色噜噜一区二区三区,香港三级午夜理伦三级三

您現(xiàn)在的位置: 365建站網(wǎng) > 365文章 > 非動(dòng)態(tài)的方法:圖片上添加文字

非動(dòng)態(tài)的方法:圖片上添加文字

文章來源:365jz.com     點(diǎn)擊數(shù):548    更新時(shí)間:2011-04-09 23:16   參與評(píng)論

首先。有個(gè)非動(dòng)態(tài)的方法提供

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
<title>New document</title>
<style type="text/css">
<!--
div#div1
{
 width:400px;height:210px;background-color:#aaa;
 color:#fff;font-size:20px;padding:45px;
 filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(sizingMethod="crop",src="C:\Documents and Settings\Administrator\桌面\c.jpg");
}
-->
</style>
</head>
<body>
<div id="div1">
<span>犀牛和小鳥的故事</span>
</div>
</body>
</html>

 filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(sizingMethod="crop",src="C:\c.jpg");

具體介紹:

Microsoft.AlphaImageLoader是IE濾鏡的一種,其主要作用就是對(duì)圖片進(jìn)行透明處理。雖然FireFox和IE7以上的IE瀏覽器已經(jīng)支持透明的PNG圖片,但是就IE5-IE6而言還是有一定的意義。



語(yǔ)法:
filter : progid:DXImageTransform.Microsoft.AlphaImageLoader ( enabled=bEnabled , sizingMethod=sSize , src=sURL ) 
屬性:

enabled  :  可選項(xiàng)。布爾值(Boolean)。設(shè)置或檢索濾鏡是否激活。true | false true  :  默認(rèn)值。濾鏡激活。 
false  :  濾鏡被禁止。 
 
sizingMethod  :  可選項(xiàng)。字符串(String)。設(shè)置或檢索濾鏡作用的對(duì)象的圖片在對(duì)象容器邊界內(nèi)的顯示方式。 crop  :  剪切圖片以適應(yīng)對(duì)象尺寸。 
image  :  默認(rèn)值。增大或減小對(duì)象的尺寸邊界以適應(yīng)圖片的尺寸。 
scale  :  縮放圖片以適應(yīng)對(duì)象的尺寸邊界。 
 
src  :  必選項(xiàng)。字符串(String)。使用絕對(duì)或相對(duì) url 地址指定背景圖像。假如忽略此參數(shù),濾鏡將不會(huì)作用。 


特性:

Enabled  :  可讀寫。布爾值(Boolean)。參閱 enabled 屬性。 
sizingMethod  :  可讀寫。字符串(String)。參閱 sizingMethod 屬性。 
src  :  可讀寫。字符串(String)。參閱 src 屬性。 


說明:
在對(duì)象容器邊界內(nèi),在對(duì)象的背景和內(nèi)容之間顯示一張圖片。并提供對(duì)此圖片的剪切和改變尺寸的操作。如果載入的是PNG(Portable Network Graphics)格式,則0%-100%的透明度也被提供。
PNG(Portable Network Graphics)格式的圖片的透明度不妨礙你選擇文本。也就是說,你可以選擇顯示在PNG(Portable Network Graphics)格式的圖片完全透明區(qū)域后面的內(nèi)容。

示例:
#idDiv{position:absolute; left:140px; height:400; width:400;filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(src='rain1977.gif',sizingMethod='scale');}
.dream{filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(src='images/earglobe.gif');} 
MSDN: http://msdn2.microsoft.com/en-us/library/ms532969.aspx
P.S. 當(dāng)想使用backgroundimage屬性時(shí),如果不想讓圖片原尺寸顯示,而是類似于IMG width=100% heigth=100% 的效果,可以通過此filter實(shí)現(xiàn)。

Example:
span.style.filter="progid:DXImageTransform.Microsoft.AlphaImageLoader(src='test.jpg', sizingMethod='scale')";

引用:最后說說關(guān)于FF和IE效果調(diào)和問題。這個(gè)濾鏡效果只適用于IE,在FF下面無法顯示,我想這是前輩說他很難實(shí)現(xiàn)的最終問題了。以往我們用*或者_(dá)來修復(fù)IE下和FF的區(qū)別.這一次是要找方法修復(fù)FF不能實(shí)現(xiàn)的問題.
其實(shí)想到的話,也很簡(jiǎn)單了.就是先讓FF正常顯示該圖片,然后,用*或_ 來清除IE下的顯示效果,最后用*或_ 來做以上的濾鏡效果。大功告成!

以上是官方的說明。事實(shí)上實(shí)際操作中需要注意:AlphaImageLoader濾鏡會(huì)導(dǎo)致該區(qū)域的鏈接和按鈕無效,一般情況下的解決辦法是為鏈接或按鈕添加:position:relative使其相對(duì)浮動(dòng)要注意的是,當(dāng)加載濾鏡的區(qū)域的父層有position:absolute絕對(duì)定位的時(shí)候使用position:relative也不能使鏈接復(fù)原。建議使用浮動(dòng)辦法處理。



具體操作:

1.為預(yù)覽區(qū)域(比如要在某個(gè) div 中預(yù)覽)添加樣式:filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(sizingMethod=scale);。 
2.為 AlphaImageLoader 設(shè)置 src 屬性。

二。  動(dòng)態(tài)性的 ASP.NET 中 關(guān)于圖像的 類 大家一定了解。包括JAVA的也一樣。

 Graphics類:封裝一個(gè) GDI+ 繪圖圖面。無法繼承此類。

Bitmap 類:封裝 GDI+ 位圖,此位圖由圖形圖像及其屬性的像素?cái)?shù)據(jù)組成。Bitmap 是用于處理由像素?cái)?shù)據(jù)定義的圖像的對(duì)象。

位圖由圖形圖像及其屬性的像素?cái)?shù)據(jù)組成。可使用許多標(biāo)準(zhǔn)格式將位圖保存到文件中。GDI+ 支持下列文件格式:BMP、GIF、EXIG、JPG、PNG 和 TIFF。有關(guān)支持的格式的更多信息,請(qǐng)參見位圖類型。

可以使用 Bitmap 構(gòu)造函數(shù)中的一種來從文件、流和其他源創(chuàng)建圖像,然后使用 Save 方法將這些圖像保存到流或文件系統(tǒng)中。使用 Graphics 對(duì)象的 DrawImage 方法,將圖像繪制到屏幕上或內(nèi)存中。有關(guān)使用圖像文件的主題的列表,請(qǐng)參見使用圖像、位圖、圖標(biāo)和圖元文件。

using System.Drawing;
using System.IO;
using System.Drawing.Imaging;

        private void AddTextToImg(string fileName,string text)
        {
            if(!File.Exists(MapPath(fileName)))
            {
                throw new FileNotFoundException("The file don't exist!");
            }
            
            if( text == string.Empty )
            {
                return;
            }
            //還需要判斷文件類型是否為圖像類型,這里就不贅述了

            System.Drawing.Image image = System.Drawing.Image.FromFile(MapPath(fileName));
            Bitmap bitmap = new Bitmap(image,image.Width,image.Height);
            Graphics g = Graphics.FromImage(bitmap);

            float fontSize = 12.0f;             //字體大小
            float textWidth = text.Length*fontSize;  //文本的長(zhǎng)度
            //下面定義一個(gè)矩形區(qū)域,以后在這個(gè)矩形里畫上白底黑字
            float rectX = 0;        
            float rectY = 0;
            float rectWidth = text.Length*(fontSize+8);
            float rectHeight = fontSize+8;
            //聲明矩形域
            RectangleF textArea = new RectangleF(rectX,rectY,rectWidth,rectHeight);

            Font font = new Font("宋體",fontSize);   //定義字體
            Brush whiteBrush = new SolidBrush(Color.White);   //白筆刷,畫文字用
            Brush blackBrush = new SolidBrush(Color.Black);   //黑筆刷,畫背景用

            g.FillRectangle(blackBrush,rectX,rectY,rectWidth,rectHeight);            

            g.DrawString(text,font,whiteBrush,textArea);
            MemoryStream ms = new MemoryStream( );
            //保存為Jpg類型
            bitmap.Save(ms,ImageFormat.Jpeg);

            //輸出處理后的圖像,這里為了演示方便,我將圖片顯示在頁(yè)面中了
            Response.Clear();
            Response.ContentType = "image/jpeg";
            Response.BinaryWrite( ms.ToArray() );

            g.Dispose();
            bitmap.Dispose();
            image.Dispose();
        }

  

如對(duì)本文有疑問,請(qǐng)?zhí)峤坏浇涣髡搲?,廣大熱心網(wǎng)友會(huì)為你解答??! 點(diǎn)擊進(jìn)入論壇

發(fā)表評(píng)論 (548人查看,0條評(píng)論)
請(qǐng)自覺遵守互聯(lián)網(wǎng)相關(guān)的政策法規(guī),嚴(yán)禁發(fā)布色情、暴力、反動(dòng)的言論。
昵稱:
最新評(píng)論
------分隔線----------------------------

其它欄目

· 建站教程
· 365學(xué)習(xí)

業(yè)務(wù)咨詢

· 技術(shù)支持
· 服務(wù)時(shí)間:9:00-18:00
365建站網(wǎng)二維碼

Powered by 365建站網(wǎng) RSS地圖 HTML地圖

copyright © 2013-2024 版權(quán)所有 鄂ICP備17013400號(hào)