1. 程式人生 > >winform中在圖片上寫字

winform中在圖片上寫字

 string WriteText = "Copyright 2008";
            img = Image.FromFile("D://pic.jpg");
            int imgHeight = img.Height;
            int imgWidth = img.Width;
            Graphics g = Graphics.FromImage(img);
            Font f = new Font("Arial", 10);
            Brush b = new SolidBrush(Color.Red);
            g.DrawString("Copyright 2008", f, b, 10, imgHeight - 30);//從左下角開始
            g.DrawString(WriteText, f, b, imgWidth - 100 - WriteText.Length, imgHeight - 30);//從右下角開始
            g.DrawString(WriteText, f, b, imgWidth / 2, imgHeight - 30);//從中間開始
           
            Point p = new Point(10, 10);

            Graphics gp = this.CreateGraphics();//輸出在winform頁中
            gp.DrawImage(img, p); 

--------------------------

try
        {
            string WriteText = "Copyright 2008";
            //網路路徑
            WebRequest webRQ = WebRequest.Create("http://pd.7ye.net/1/277/70943/77935-0l.jpg");
            WebResponse webRP = webRQ.GetResponse();
            System.Drawing.Image bitimage = System.Drawing.Image.FromStream(webRP.GetResponseStream());
            //本地路徑
            //System.Drawing.Image bitimage = System.Drawing.Image.FromFile("D://pic8.jpg");    
            int imgHeight = bitimage.Height;
            int imgWidth = bitimage.Width;
            Graphics g = Graphics.FromImage(bitimage);
            Font f = new Font("Arial", 10);
            Brush b = new SolidBrush(Color.Red);
            g.DrawString("Copyright 2008", f, b, 10, imgHeight - 30);//從左下角開始
            g.DrawString(WriteText, f, b, imgWidth - 100 - WriteText.Length, imgHeight - 30);//從右下角開始
            g.DrawString(WriteText, f, b, imgWidth / 2, imgHeight - 30);//從中間開始

            Point p = new Point(10, 10);

            //webform中輸出,根據image物件
            System.IO.MemoryStream ms = new System.IO.MemoryStream();
            System.Drawing.Image img1 = bitimage;
            img1.Save(ms, System.Drawing.Imaging.ImageFormat.Gif);
            byte[] msbyte = new byte[ms.Length];
            ms.Position = 0;
            ms.Read(msbyte, 0, msbyte.Length);
            ms.Close();
            Response.BinaryWrite(msbyte);
        }
        catch (Exception ex)
        {
            Response.Write(ex.ToString());
       
        }
        //webform中輸出,指定路徑
        //FileStream fs = new FileStream("D://pic8.jpg", FileMode.Open);
        //byte[] byData = new byte[fs.Length];
        //fs.Read(byData, 0, byData.Length);
        //fs.Close();
        //Response.ContentType = "image/JPEG";      
        //Response.BinaryWrite(byData);