首页 > 语言 > 关键词  > ASP.NET最新资讯  > 正文

如何在上传的图片上打自己的文字水印

2008-09-11 09:04 · 稿源:互联网

很多时候需要在用户上传的图片上加上版权或者一些其他的附加文字信息,如何实现这样的功能,下面帖个简单实现的例子,起到抛砖引玉的作用。


<%@PageLanguage="c#"Debug="true"Trace="true"%>
<%@ImportNamespace="System.IO"%>
<%@ImportNamespace="System.Drawing"%>
<%@ImportNamespace="System.Drawing.Imaging"%>
<html>
<scriptrunat=server>
voidUploadBtn_Click(Objectsender,EventArgse){
Stringfilename;
Stringfilename1;
String[]filename2;
intq;
filename=UploadFile.PostedFile.FileName;
filename2=filename.Split(newChar[]{'\\'});
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;
}
voidUpdateBtn_Click(Objectsender,EventArgse){
Stringfilename1;
filename1=Image1.Src;
System.Drawing.Imageimage=System.Drawing.Image.FromFile(Server.MapPath(filename1));
System.Drawing.Imagenewimage=newBitmap(image.Width,image.Height,PixelFormat.Format32bppRGB);
Graphicsg=Graphics.FromImage(newimage);
g.DrawImage(image,0,0,image.Width,image.Height);
Fontf=newFont(FontType.SelectedItem.Text,Int32.Parse(FontSize.SelectedItem.Text));
Brushb=newSolidBrush(Color.Red);
g.DrawString(Caption.Text,f,b,10,140);
g.Dispose();
System.Drawing.ImagethumbImage=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:labelid="dis"runat=server/>
<formenctype="multipart/form-data"runat=server>
选择上传文件:<inputid="UploadFile"type=filerunat=server>
<asp:buttonText="UploadMe!"OnClick="UploadBtn_Click"runat=server/>
<hr>
<asp:panelid="ImageEditor"Visible=falserunat=server>
<imgID="Image1"src=""runat="server"/>
图像宽度:<asp:textboxid="Width"runat=server/>
图像高度:<asp:textboxid="Height"runat=server/><br>
文本标题:<asp:textboxid="Caption"runat=server/>
标题字号:<asp:dropdownlistid="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:dropdownlistid="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:buttonText="UpdateImage"OnClick="UpdateBtn_Click"runat=server/>
</asp:panel>
</form>

</body>
</html>

  • 相关推荐
  • 大家在看
  • 内部开发者呼吁微软正视并处理.NET热加载功能被砍引发的负面舆情

    由于微软刻意在自家负责管理的 .NET 6 开源软件开发平台中阉割了“热加载”(Hot Reload)功能,以迫使专业开发者转而采用功能强大、但成本极其高昂的 Visual Studio 2022 集成开发环境,此事已经引发了开源社区的强烈抗议。事实证明,即使在微软公司内部,也有许多开发人员对此表达了同样的愤怒。即使高层最终改变了这一决定,大家的情绪也未能得到安抚。毕竟许多人都担心,微软后续还是会将短期财务利益,凌驾于更广大的开源意志

  • Canonical宣布启动Ubuntu 22.01“Jammy Jellyfish”LTS开发项目

    随着 Canonical 今日正式开放了“Jammy”存档,意味着 Ubuntu 22.04“Jammy Jellyfish”长期支持版本(LTS)的开发项目也被正式摆上了议事日程。如果一切顺利,新 LTS 版本将于 2021 年 4 月 21 日到来。目前“Jammy”存档已经向开发者开放,且与 Debian 保持自动同步。截图(来自:Canonical)与 Ubuntu 22.04 一同到来的,包括 Python 3.10 和 OpenSSL 3.0 。而在未来半年内,LTS 版本还计划引入 PHP 8.1、Ruby 3.0、GNOME 42.0?

  • Netflix变性员工计划10月20日举行罢工以向CEO表达抗议

    据外媒报道,Netflix的变性员工资源小组正计划于10月20日举行全公司范围的罢工以抗议联合CEO Ted Sarandos就Dave Chappelle的最新喜剧特辑节目《The Closer》所作的声明。“变性人的生命很重要(Trans Lives Matter)。变性人的权利很重要(Trans Rights Matter)。而作为一个组织,Netflix一直没有在我们娱乐世界的使命中表现出深切的关怀,一再发布伤害跨性别社区的内容并不断地创造代表和提升跨性别内容的内容。我们可以而且必须?

  • 专利显示三星可能正在开发一款太阳能Galaxy Watch

    据LetsGoDigital在美国专利商标局(USPTO)于9月16日发布后发现了三星一项新专利,该专利早在2019年提交,暗示三星可能正在开发一款太阳能供电的智能手表。

  • Matternet自动无人机停靠站在瑞士首次亮相

    没有人确切地知道送货无人机送货将如何适应未来的物流,但有一点是肯定的:飞机不会直接把重要的有效载荷扔到别人的草坪上。Matternet's Station是一个自动降落空间和有效载荷控制塔,可能是一个解决方案,这个像花一样的结构在瑞士的一个医疗机构从效果图变成了现实。Matternet's Station看起来就像60年代科幻电影中的一个道具。然而,这种不寻常的形状是有作用的,它为货运无人机提供了一个安全着陆和更换电池的地方,保护其不受

  • 彭博社:11家开发商已获得4K任天堂Switch开发

    虽然任天堂要在10月份上市一款Switch新机,但仅仅是初代Switch的部分配置升级,完全没有达到玩家期待的标准。不过彭博社在本周三报道称,开发Nintendo Switch 游戏的开发人员已经获得了4K版本的Nintendo Switch开发人员套件。

  • 传苹果正在开发类Switch游戏机 Apple TV机顶盒将迎来大变化

    iDropNews 爆料称,苹果或推出类似任天堂 Switch 的混合式游戏机,并将对 Apple TV 机顶盒展开重新设计。2006 年初次亮相的 Apple TV,当时还叫做 iTV 。但由于和欧洲某家新闻机构重名,苹果还是在被起诉后更名为 Apple TV、并沿用至今。最新消息是,下一代 Apple TV 或迎来类似 Mac mini 的改进。在去年的 iPhone 12 身上,我们看到了 iPhone 4 / 5 时代直角边框设计的回归。今年 4 月,苹果又延续着这理念,重新设计了 Apple TV

  • 富途ESOP:《鱿鱼游戏》爆红 Netflix股权激励做对了

    《鱿鱼游戏》火了!自 9 月 17 日上线以来,短短 1 个月的时间,全球观看人数超过1. 1 亿,不仅在亚太地区各个国家霸榜,更是在北美地区连续两周拿下Netflix第一,TikTok上相关话题浏览量更是突破 320 亿。不管你看没看过,都得要承认一场名为《鱿鱼游戏》的热潮正在席卷全球。图片来源:网络Netflix是谁? 毫无疑问的是,Netflix成为了这场游戏的最大赢家。据富途ESOP了解, 9 月 17 日《鱿鱼游戏》开播,Netflix收盘股价约为每股 5

  • Netflix CEO身穿《鱿鱼游戏》标志性运动服参加Q3财报采访

    据外媒报道,Netflix联合CEO Reed Hastings周二穿着《鱿鱼游戏》运动服出现在他价值2830亿美元的公司第三季度财报采访中,以此来宣传该服务的突破性热门系列,这恰好演变成了Netflix的一项重要的商品销售工作。通常情况下,Hastings都会穿着灰色毛衣背心出席这些季度会议,讨论自由现金流和摊销等问题。但在过去的电话会议上,他还会拿出一些愚蠢的促销毛衣,对《怪奇物语》和《马男波杰克》(后者是Hasting的个人最爱)等节目进行

  • 在开源社区的强烈抗议下 微软逆转了有争议的.NET变化

    在开源社区的公开抗议下,微软正在改变从其即将发布的.NET 6中删除一个关键功能的决定。本周早些时候,微软因为商业利益原因在即将发布的.NET 6中删除了Hot Reload(热重载)的一个关键部分,从而激怒了.NET开源社区,该功能允许开发者在应用运行时修改源代码,并立即看到结果。这是一个许多人一直期待在Visual Studio Code和多个平台上使用的功能,直到微软在最后一刻做出了一个有争议的决定,将其锁定在Visual Studio 2022,这是

这篇文章对你有价值吗?

  • 热门标签
京东双11红包