/**//// <summary>
        /// 功能:將文字寫入圖片
        /// 日期:2006-11-20
        /// 作者:楊義賢
        /// </summary>
        /// <param name="strfilename">文件名字</param>
        /// <param name="strtext">需要寫入的文字</param>
        private void texttoimage(string strfilename,string strtext)
        {
            if(!file.exists(mappath(strfilename)))
            {
                throw new filenotfoundexception("文件不存在!");
            }
           
            if( strtext == string.empty )
            {
                return;
            }
            //還需要判斷文件類型是否為圖像類型
            system.drawing.image image = system.drawing.image.fromfile(mappath(strfilename));
            bitmap bitmap = new bitmap(image,image.width,image.height);
            graphics grap = graphics.fromimage(bitmap);
            float fontsize = 24.0f;             //字體大小
            float textwidth = strtext.length*fontsize;  //文本的長度
            //下面定義一個矩形區域,以后在這個矩形里畫上白底黑字
            float rectx = 0;       
            float recty = 0;
            float rectwidth = strtext.length*(fontsize+12);
            float rectheight = fontsize+8;
            string strfont;//定義字體類型
            //聲明矩形域
            rectanglef textarea = new rectanglef(rectx,recty,rectwidth,rectheight);
            strfont = ddlfont.selecteditem.text.tostring().trim();
            font font = new font(strfont,fontsize);   //定義字體
            brush whitebrush = new solidbrush(color.white);   //白筆刷,畫文字用
            brush blackbrush = new solidbrush(color.transparent);   //黑筆刷,畫背景用
grap.fillrectangle(blackbrush,rectx,recty,rectwidth,rectheight);
            grap.drawstring(strtext,font,whitebrush,textarea);
            memorystream ms = new memorystream();
            //保存為jpg類型
            bitmap.save(ms,imageformat.jpeg);
            //輸出處理后的圖像.//在這里可以將生成后的圖片放大oracle數據庫power中
            
            response.clear();
            response.contenttype = "image/jpeg";
            response.binarywrite(ms.toarray());
            grap.dispose();
            bitmap.dispose();
            image.dispose();
        }
事件:
private void btnwrite_click(object sender, system.eventargs e)
        {
            httppostedfile httppostfile;    //客戶端上載文件對象
            httppostfile = docupload.postedfile;
            string strtemp;
            string strfilename;//完成文件名
            strtemp = httppostfile.filename.tostring().trim();
            strfilename = getrealfilename(strtemp);
            string strimg = "images/";
            texttoimage(strimg +strfilename,txtdocname.text.tostring());
        }/**//// <summary>
        ///  功能:獲取文件名
        ///  日期:2006-11-20
        ///  作者:楊義賢
        /// </summary>
        /// <param name="strpathname">文件路徑</param>
        /// <returns></returns>
        public string getrealfilename(string strpathname)
        {
            string [] strfilename = strpathname.split('/');
            int ipos = strfilename.getupperbound(0);
            return strfilename[ipos];
        }
| 
 
 | 
新聞熱點
疑難解答
圖片精選