当前位置 > 文字教程 > Asp.net教程

如何在上传的图片上写字

文章类别:Asp.net | 发表日期:2008-10-5 22:13:36

很多时候需要在用户上传的图片上加上版权或者一些其他的附加文字信息,如何实现这样的功能,下面帖个简单实现的例子,起到抛砖引玉的作用。
<%@ Page Language="c#" Debug="true" Trace="true"%>
<%@ Import Namespace="System.IO" %>
<%@ Import Namespace="System.Drawing" %>
<%@ Import Namespace="System.Drawing.Imaging" %>
<html>
<script runat =server>
      void UploadBtn_Click(Object sender, EventArgs e) {
        String filename;
        String filename1;
        String[] filename2;
        int q;
        filename=UploadFile.PostedFile.FileName ;
        filename2=filename.Split(new Char[] {'\\'});
        q=filename2.GetUpperBound(0);
        filename1=filename2[q];
        dis.Text="上传文件名:"+filename1+"<br>";
        UploadFile.PostedFile.SaveAs(Server.MapPath(filename1));
        ImageEditor.Visible = true;
        dis.Text+="文件大小:"+UploadFile.PostedFile.ContentLength+"字节数";
        Image1.Src=filename1;     
      }
      void UpdateBtn_Click(Object sender, EventArgs e) {
        String filename1;
        filename1=Image1.Src;
        System.Drawing.Image image = System.Drawing.Image.FromFile(Server.MapPath(filename1));
        System.Drawing.Image newimage = new Bitmap(image.Width, image.Height, PixelFormat.Format32bppRGB);
        Graphics g = Graphics.FromImage(newimage);
        g.DrawImage(image,0,0,image.Width,image.Height);
        Font f = new Font(FontType.SelectedItem.Text, Int32.Parse(FontSize.SelectedItem.Text));
        Brush b = new SolidBrush(Color.Red);
        g.DrawString(Caption.Text, f, b, 10, 140);
        g.Dispose();
        System.Drawing.Image thumbImage = newimage.GetThumbnailImage(Int32.Parse(Width.Text),Int32.Parse
(Height.Text),null,0);
        image.Dispose();
        thumbImage.Save(Server.MapPath(filename1), ImageFormat.JPEG);
        Image1.Src=filename1;     
        Caption.Text="";   
 
      }

  </script>

  <body>
  <asp:label id="dis" runat=server/>
    <form enctype="multipart/form-data" runat=server>
          选择上传文件: <input id="UploadFile" type=file runat=server>
          <asp:button Text="Upload Me!" OnClick="UploadBtn_Click" runat=server/>
          <hr>
          <asp:panel id="ImageEditor" Visible=false runat=server>
            <img ID="Image1" src="" runat="server"/>
                图像宽度: <asp:textbox id="Width" runat=server/>
                图像高度: <asp:textbox id="Height" runat=server/> <br>
                文本标题: <asp:textbox id="Caption" runat=server/>
                标题字号: <asp:dropdownlist id="FontSize" runat=server>
                                        <asp:listitem>14</asp:listitem>
                                        <asp:listitem>18</asp:listitem>
                                        <asp:listitem>26</asp:listitem>
                                        <asp:listitem>36</asp:listitem>
                                        <asp:listitem>48</asp:listitem>
                                        <asp:listitem>62</asp:listitem>
                                      </asp:dropdownlist>
                标题字体: <asp:dropdownlist id="FontType" runat=server>
                                        <asp:listitem>黑体</asp:listitem>
                                        <asp:listitem>仿宋</asp:listitem>
                                        <asp:listitem>隶书</asp:listitem>
                                        <asp:listitem>楷书</asp:listitem>
                                        <asp:listitem>彩云</asp:listitem>
                                        <asp:listitem>新魏</asp:listitem>
                                      </asp:dropdownlist>
                                               
                <asp:button Text="Update Image" OnClick="UpdateBtn_Click" runat=server/>
          </asp:panel>
      </form>

  </body>
</html>