亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于ASP.NET的圖片處理與檢索技術(shù)的研究與實(shí)踐

        2017-04-15 11:25:20李進(jìn)豪
        電腦知識與技術(shù) 2016年34期
        關(guān)鍵詞:檢索案例

        摘要:ASP.NET具備開發(fā)網(wǎng)站應(yīng)用程序的解決方案,讓豐富多彩的網(wǎng)頁更加容易開發(fā)。文章基于實(shí)際工作項(xiàng)目和需求,重點(diǎn)探索基于ASP.NET的圖片處理與檢索技術(shù)的可行性解決方案,并以實(shí)踐案例輔以佐證。

        關(guān)鍵詞:ASP.NET;C#;圖片處理;檢索;案例

        中圖分類號:TP311 文獻(xiàn)標(biāo)識碼:A 文章編號:1009-3044(2016)34-0100-04

        Abstract: ASP.NET which can provide the solutions to developing web application program, makes the web pages more colorful and rich in contents and easier to be developed. Basing on the piratical work project and requirements, this paper mainly focused on the exploring the feasibility of implementations which image processing and retrieve technology based on the ASP. NET, and used practical case as supporting evidence.

        Key words: ASP. NET; C#; image processing; retrieve; case

        ASP.NET具備開發(fā)網(wǎng)站應(yīng)用程序的解決方案,它分離程序代碼與顯示的內(nèi)容,讓豐富多彩的網(wǎng)頁更加容易開發(fā)。文章主要根據(jù)筆者的實(shí)際工作項(xiàng)目和需求,重點(diǎn)探索基于ASP.NET對圖片進(jìn)行處理(添加文字標(biāo)記)和快速檢索所需圖片的可行性實(shí)施方案和相關(guān)技術(shù)。

        1 問題的提出

        隨著教學(xué)資源庫建設(shè)的精細(xì)化,如何更加有效地發(fā)揮教學(xué)資源庫的作用越來越引人關(guān)注,其中圖片處理與檢索是關(guān)注的焦點(diǎn)之一。在實(shí)際應(yīng)用中,基于版權(quán)保護(hù)和其他附加說明的需要,我們在圖片上傳的同時(shí)需要對圖片進(jìn)行處理(添加文字標(biāo)記等);基于快速檢索的需要,我們在圖片上傳的同時(shí)需要構(gòu)建一個(gè)圖片信息數(shù)據(jù)庫(關(guān)鍵詞、作者等)。在筆者主持的全國農(nóng)業(yè)職業(yè)教育“十三五”課題《基于AES的高水平教學(xué)團(tuán)隊(duì)構(gòu)建的研究與實(shí)踐》實(shí)施過程中,同樣遇到上述的問題,需要我們在技術(shù)上進(jìn)行解決。主要有:

        1)把圖片上傳到教學(xué)資源庫時(shí),需要讓圖片自動帶有“省海洋信息技術(shù)科”的標(biāo)記;

        2)在圖片上傳過程中,需要自動獲取圖片的相關(guān)信息,用于構(gòu)建圖片信息數(shù)據(jù)庫,為圖片檢索提供信息源;

        3)基于關(guān)鍵詞對圖片進(jìn)行檢索時(shí),需要按權(quán)限獲取圖片(原圖或標(biāo)記圖)。

        2 基于ASP.NET的圖片處理技術(shù)

        2.1 基本原理

        2.1.1 命名規(guī)則(上傳的圖片)

        基于圖片檢索的需要,圖片上傳時(shí)必須同時(shí)保存圖片的關(guān)鍵詞。為了方便用戶和簡化操作,在圖片上傳時(shí),通常不額外要求用戶輸入關(guān)鍵詞等,而是采用從圖片文件名獲取的方法。因此,基于簡化的原則,圖片的文件名必須帶有檢索所需的信息(這樣的命名規(guī)則也有利于文件分類)。在筆者的實(shí)際工作項(xiàng)目中,圖片檢索時(shí)常有三個(gè)關(guān)鍵詞:內(nèi)容摘要(或標(biāo)題)、作者、時(shí)間,因此圖片的命名規(guī)則是:內(nèi)容摘要+作者,時(shí)間由計(jì)算機(jī)自動產(chǎn)生。例:基于PDCA的課堂教學(xué)模式優(yōu)化的研究與實(shí)踐+李進(jìn)豪.jpg。

        2.1.2 基本原理

        在ASP.NET中,圖片處理的基本原理如圖1所示。

        2.2 圖片處理的關(guān)鍵技術(shù)

        2.2.1 添加文字標(biāo)記的常用技術(shù)(開發(fā)語言:C#,下文同)

        1)FromImage方法:從指定的 Image 創(chuàng)建新的 Graphics。

        2)DrawImage方法:在指定位置并且按指定形狀和大小繪制指定的Image。

        3)DrawString方法:在指定位置并且用指定的Brush和Font對象繪制指定的文本字符串。

        2.2.2 添加文字標(biāo)記的通用性示例代碼

        System.Drawing.Image myImage = System.Drawing.Image.FromStream(myStream, false);

        System.Drawing.Graphics myg = System.Drawing.Graphics.FromImage(myImage);

        myg.DrawImage(myImage,0,0,myImage.Size.Width,myImage.Size.Height);

        System.Drawing.Font myf = new Font("隸書",12);

        System.Drawing.Brush myb = new SolidBrush(System.Drawing.Color.Red);

        myg.DrawString("省海洋信息技術(shù)科",myf,myb,5,5);

        2.3 保存

        2.3.1 圖片保存的命名規(guī)則

        1)原圖:年+月+日+時(shí)+分+秒+毫秒,該文件名必要時(shí)進(jìn)行加密,加密后訪問時(shí)需要經(jīng)過解密算法運(yùn)算后才能獲得真正的文件名。例:20161113183454420.jpg(未加密的文件名),BCCKEHGLISMQQSRSP.jpg(加密后的文件名)。

        2)標(biāo)記圖:年+月+日+時(shí)+分+秒+毫秒+w,例:20161113183454420w.jpg。

        3)自動獲取“年+月+日+時(shí)+分+秒+毫秒”的通用性示例代碼:

        string filen=System.DateTime.Now.Year.ToString()+System.DateTime.Now.Month.ToString();

        filen = filen +System.DateTime.Now.Day.ToString()+ System.DateTime.Now.Hour.ToString();

        filen=filen+System.DateTime.Now.Minute.ToString()+System.DateTime.Now.Second.ToString()

        filen=filen++System.DateTime.Now.Millisecond.ToString();

        string filenameok=filen+"."+tmpfilen.Substring(tmpfilen.LastIndexOf(".") + 1);

        // tmpfilen為上傳文件的原文件名

        2.3.2 圖片預(yù)覽

        在圖片上傳完畢后,可利用Image控件進(jìn)行預(yù)覽。一般情況下,預(yù)覽時(shí)選擇標(biāo)記圖(標(biāo)記圖的字節(jié)數(shù)比原圖?。?。通用性示例代碼如下:

        this.mywebImage.ImageUrl = @"uploadfile\" + picName.Replace(suffix, "w" + suffix);

        // picName 為文件名,suffix為擴(kuò)展名

        2.3.3 保存圖片(原圖和標(biāo)記圖)

        1)SaveAs方法:將上載文件的內(nèi)容保存到 Web 服務(wù)器上的指定路徑。

        2)通用性示例代碼:myPost.SaveAs(fileSavePath)。

        2.3.4 圖片信息數(shù)據(jù)表

        一般情況下至少需要有一張表用于保存三個(gè)信息:內(nèi)容摘要、作者、時(shí)間等,如圖2所示。

        2.3.5 保存圖片信息

        基于ASP.NET進(jìn)行開發(fā),數(shù)據(jù)庫通常選用SQL Server。基于上述的開發(fā)理念,保存圖片信息的通用性示例代碼如下:

        string sqlcon1 = "Data Source=192.168.2.101;Initial Catalog=aes;Persist Security “;

        sqlcon1 = sqlcon1 +” Info=True;User ID=sa;Password=12345678";

        SqlConnection con1 = new SqlConnection(sqlcon1);

        con1.Open();

        string sql1 = "insert into mypicture(mytm,myxm,mydate,mypic) values('" + mytm1 + "','";

        sql1 = sql1 + myxm1 + "','" + mydate1 + "','" + mypic1 + "')";

        SqlCommand mycomm1 = new SqlCommand(sql1, con1);

        mycomm1.CommandText = sql1;

        mycomm1.ExecuteNonQuery();

        con1.Close();

        3 基于ASP.NET的圖片檢索技術(shù)

        3.1 基本原理

        在ASP.NET中,圖片檢索的原理相對簡單,一般使用sql語句即可完成檢索,難點(diǎn)在于如何編寫條件語句,使檢索更加高效,其基本原理如圖3所示。

        3.2 檢索關(guān)鍵詞

        常用關(guān)鍵詞:內(nèi)容摘要、作者、時(shí)間(含開始日期、截止日期)。

        3.3 圖片檢索通用性示例代碼

        string sqlcon = "Data Source=192.168.2.101;Initial Catalog=aes;Persist Security Info”;

        sqlcon =+”True;User ID=sa;Password=12345678";

        SqlConnection con = new SqlConnection(sqlcon);

        con.Open();

        string sql = "select * from mypicture where mytm like '%"+mytm1+"%' and myxm like '%";

        sql = sql +myxm1+"%' and mydate>='" + mywebdate1 + "' and mydate<='" + mywebdate2;

        sql = sql + " order by mydate desc";

        System.Data.SqlClient.SqlDataAdapter my1 = new SqlDataAdapter(sql, con);

        System.Data.DataSet my2 = new DataSet();

        my2.Clear();

        my1.Fill(my2, "mypicture");

        int myzs = my2.Tables["mypicture"].Rows.Count;

        4 案例

        4.1 需求

        項(xiàng)目來源:1、廣東省中等職業(yè)學(xué)?!鞍偾f人才培養(yǎng)工程”專業(yè)名師培養(yǎng)對象專項(xiàng)資金(2015—2017);2、全國農(nóng)業(yè)職教育“十三五”科研課題《基于AES的高水平教學(xué)團(tuán)隊(duì)構(gòu)建的研究與實(shí)踐》,課題編號:2016-135-Y-227。

        需求:為了實(shí)現(xiàn)經(jīng)驗(yàn)積累與分享(AES,Accumulated Experience Sharing的縮寫),課題組需要將大量的圖片上傳到服務(wù)器,用戶(教師和學(xué)生)根據(jù)需求檢索并下載。基于版本保護(hù)的需要,上傳的圖片分為原圖和標(biāo)記圖(在原圖的基礎(chǔ)上添加標(biāo)記)。

        4.2 基本原理

        基于ASP.NET技術(shù),本項(xiàng)目圖片處理與檢索的基本原理如圖4所示。

        4.3實(shí)現(xiàn)

        4.3.1 上傳圖片的格式

        1)格式:內(nèi)容摘要(或標(biāo)題)+作者。

        2)示例(如圖5所示)

        4.3.2給圖片添加標(biāo)記

        1)添加標(biāo)記信息:省海洋信息技術(shù)科

        2)代碼:采用通用性示例代碼。

        3)示例(如圖6所示)

        4.3.3 圖片的保存

        1)代碼:采用通用性示例代碼。

        2)示例(如圖7所示)

        4.3.4 檢索

        1)模糊檢索的基本原理:內(nèi)容摘要(空白表示不約束,使用“包含”進(jìn)行檢索),作者(空白表示不約束,使用“包含”進(jìn)行檢索),開始日期和截止日期(未選擇表示不約束)。

        2)內(nèi)容摘要和作者模糊檢索的條件語句

        string mytm1= this.TextBox1.Text.Trim();

        string myxm1= this.TextBox2.Text.Trim();

        條件語句:mytm like '%"+mytm1+"%' and myxm like '%"+myxm1+"%'";

        3)日期模糊檢索的條件語句

        string mywebdate1=this.Calendar2.SelectedDate.Date.ToShortDateString();

        string mywebdate2 = this.Calendar3.SelectedDate.Date.ToShortDateString();

        if (mywebdate2 == "0001/1/1")

        mywebdate2 = "3000/1/1";

        //未選擇時(shí),日歷控件的返回值是"0001/1/1"。

        條件語句:"mydate>='" + mywebdate1 + "' and mydate<='" + mywebdate2 + "'";

        4)示例(如圖8所示)

        4.3.5 預(yù)覽

        1)圖片預(yù)覽的順序:按上傳時(shí)間排序(降序,實(shí)現(xiàn)代碼:order by mydate desc)

        2)示例代碼(每頁顯示三張圖片)

        if (mycs<=myzs)

        this.Image1.ImageUrl=@"uploadfile\"+ my2.Tables["mypicture"].Rows[mycs-1]["mypic"].ToString().Trim();

        mycs += 1;

        if (mycs <= myzs)

        this.Image2.ImageUrl=@"uploadfile\"+ my2.Tables["mypicture"].Rows[mycs-1]["mypic"].ToString().Trim();

        mycs += 1;

        if (mycs <= myzs)

        this.Image3.ImageUrl=@"uploadfile\"+my2.Tables["mypicture"].Rows[mycs-1]["mypic"].ToString().Trim();

        this.Label1.Text = ((int)mycs/3).ToString(); //用于保存預(yù)覽圖片的頁數(shù)

        3)預(yù)覽圖(如圖9所示)

        4.3.6 圖片翻頁

        1)上一頁示例代碼

        int mycs = (System.Convert.ToInt16(this.Label1.Text)-2)*3;

        mycs += 1;

        if (mycs <= 0)

        mycs = 1;

        //預(yù)覽代碼(略)

        2)下一頁示例代碼

        int mycs = System.Convert.ToInt16(this.Label1.Text)*3;

        if (mycs == myzs)

        { mycs = mycs - 2; }

        else

        { mycs += 1;

        if (mycs > myzs)

        mycs = ((int)myzs / 3) * 3 + 1;}

        //預(yù)覽代碼(略)

        4.3.7 原圖與標(biāo)記圖

        1)經(jīng)過文中代碼處理后的標(biāo)記圖,正常情況可作為原圖的微縮圖(1M的原圖,標(biāo)記圖一般為130K左右),在本項(xiàng)目中常用于預(yù)覽。

        2)示例(如圖10所示)

        4.3.8 下載

        根據(jù)權(quán)限下載,管理者用戶可下載原圖和標(biāo)記圖,普通用戶只可以下載標(biāo)記圖。實(shí)現(xiàn)方法較為簡單,主要通過點(diǎn)擊標(biāo)記圖瀏覽原圖或標(biāo)記圖下載。

        4.3.9 加解密算法

        在下載時(shí),防止超越權(quán)限下載原圖,本項(xiàng)目主要是通過文件名的加解密算法來實(shí)現(xiàn)(為了闡述方便,上文的文件名并未實(shí)現(xiàn)加解密)。最簡單的加解密算法是:

        1)基本原理

        加密:文件名的每一個(gè)字符的ASCII碼 + 常數(shù) + 第幾位 - 文件名長度

        加密示例:(int)fileoldarray[i]+35+i-filelen

        解密:文件名的每一個(gè)字符的ASCII碼 - 常數(shù) - 第幾位 + 文件名長度

        解密示例:(int)fileoldarray[i]-35-i+filelen

        2)加密示例代碼

        filelen=fileold.Length;

        char[] fileoldarray=fileold.ToCharArray();

        filenew = "";

        for (int i=0;i

        { if (i%2==1)

        filenew += (char)((int)fileoldarray[i]+35+i-filelen);

        else

        filenew += (char)((int)fileoldarray[i]+33+i-filelen); }

        3)解密示例代碼

        filelen=fileold.Length;

        char[] fileoldarray=fileold.ToCharArray();

        filenew = "";

        for (int i=0;i

        { if (i%2==1)

        filenew += (char)((int)fileoldarray[i]-35-i+filelen);

        else

        filenew += (char)((int)fileoldarray[i]-33-i+filelen); }

        4)實(shí)例

        原文件名:2016111323933973.jpg

        加密后文件名:CDDLFIHMKOTQPYVU.jpg

        5 結(jié)束語

        ASP.NET提供了強(qiáng)大的、標(biāo)準(zhǔn)化的web服務(wù)支持能力,筆者常用于開發(fā)基于web的各種管理系統(tǒng),也常用于開發(fā)基于XML的數(shù)據(jù)交換程序。文中提及的代碼(C#)全部在真實(shí)環(huán)境中測試通過,并應(yīng)用于實(shí)際工作中。

        參考文獻(xiàn):

        [1] 李進(jìn)豪. 課堂教學(xué)有效性的研究與實(shí)踐[Z]. 第六屆全國農(nóng)業(yè)職業(yè)教育教學(xué)成果二等獎, 2015.

        [2] 李進(jìn)豪. 基于AES的教師教學(xué)能力提升的研究與實(shí)踐[Z]. 2015年廣東省職協(xié)優(yōu)秀科研成果一等獎, 2016.

        猜你喜歡
        檢索案例
        案例4 奔跑吧,少年!
        2019年第4-6期便捷檢索目錄
        隨機(jī)變量分布及統(tǒng)計(jì)案例拔高卷
        發(fā)生在你我身邊的那些治超案例
        中國公路(2017年7期)2017-07-24 13:56:38
        專利檢索中“語義”的表現(xiàn)
        專利代理(2016年1期)2016-05-17 06:14:36
        一個(gè)模擬案例引發(fā)的多重思考
        國際標(biāo)準(zhǔn)檢索
        國際標(biāo)準(zhǔn)檢索
        色偷偷av男人的天堂| 26uuu在线亚洲欧美| aa片在线观看视频在线播放| 国产suv精品一区二区| 亚洲一区二区三区在线观看播放| 青青青视频手机在线观看| 麻豆精品一区二区av白丝在线| 边喂奶边中出的人妻| 日韩欧美区| 日本高清视频在线一区二区三区| 经典三级免费看片天堂| 日本在线观看三级视频| 久久久久99精品成人片欧美| 欧美肥胖老妇做爰videos| 在线观看亚洲AV日韩A∨| 亚洲图文一区二区三区四区| 日本免费视频一区二区三区| 狠狠97人人婷婷五月| 欧美性大战久久久久久久| 国产女同一区二区在线| 日本韩国亚洲三级在线| 无码中文亚洲av影音先锋 | 野花社区视频www官网| 美女污污网站| 在线视频自拍视频激情| 国产精品久久久亚洲| 久久99精品久久久久久| 亲少妇摸少妇和少妇啪啪| 少妇一区二区三区久久| 亚洲国产成人无码av在线影院| 久久久久国产一级毛片高清版A| 一区二区三区精品亚洲视频| 肉色丝袜足j视频国产| 116美女极品a级毛片| 香蕉久久夜色精品国产| 国产女主播一区二区久久| 凹凸在线无码免费视频| 亚洲中文字幕无码卡通动漫野外| 一二三四在线观看韩国视频| 初尝人妻少妇中文字幕| 国产人妻黑人一区二区三区|