国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁(yè) > 學(xué)院 > 開(kāi)發(fā)設(shè)計(jì) > 正文

在Asp.net中為圖像加入版權(quán)信息

2019-11-18 19:12:24
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友

你試過(guò)用.net來(lái)進(jìn)行圖像處理嗎?公司最近進(jìn)行的一個(gè)項(xiàng)目,數(shù)據(jù)庫(kù)中存入了很多的產(chǎn)品圖片,可是都沒(méi)有版權(quán)信息,當(dāng)時(shí)客戶(hù)要求將所有的圖片打上公司名稱(chēng)?這時(shí)候,你該怎么辦?

雖說(shuō)我還是江湖嫩手,可是對(duì)這一問(wèn)題的解決方案還是很多,歸結(jié)如下:

1.使用圖形處理軟件,如photoshop等,利用其批處理功能,可以實(shí)現(xiàn)這個(gè)功能,可是每次數(shù)據(jù)錄入員加進(jìn)圖片的話(huà),還得加工一下圖片,很麻煩的,看錄入員大姐平常對(duì)我很不錯(cuò),每日笑臉相迎,能忍心折磨她么?這個(gè)方案否決了。

2.使用.net行云流水般的圖像處理,當(dāng)錄入員大姐上傳圖片的時(shí)候,就自動(dòng)加上公司標(biāo)記,這樣豈不更好,嗯,這想法不錯(cuò),可以進(jìn)入2005最佳解決方案第萬(wàn)強(qiáng)了,好說(shuō)干就干。

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;
            }
            //還需要判斷文件類(lèi)型是否為圖像類(lèi)型,這里就不贅述了

            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è)矩形里畫(huà)上白底黑字
            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);   //白筆刷,畫(huà)文字用
            Brush blackBrush = new SolidBrush(Color.Black);   //黑筆刷,畫(huà)背景用

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

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

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

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

調(diào)用時(shí)很簡(jiǎn)單,

AddTextToImg("me.jpg","小智");

一切OK了,感覺(jué).net確實(shí)好強(qiáng)大,這些功能在asp中可是奢侈品了,而在.Net環(huán)境中卻能輕而易舉的完成!


發(fā)表評(píng)論 共有條評(píng)論
用戶(hù)名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 巴中市| 宜兰县| 漠河县| 翁牛特旗| 资阳市| 双柏县| 大渡口区| 富平县| 若羌县| 浑源县| 射阳县| 莱州市| 内江市| 东兴市| 即墨市| 额济纳旗| 东光县| 惠水县| 安陆市| 溧阳市| 乌拉特前旗| 麦盖提县| 临夏市| 马尔康县| 富锦市| 土默特左旗| 社会| 泰州市| 沙河市| 文化| 新民市| 青河县| 临城县| 五华县| 嘉荫县| 洪江市| 高清| 阿尔山市| 池州市| 南昌市| 木兰县|