首先。有個(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)參見
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)入論壇