我在我的服务器上的这个文件夹中有一张图片:\images\freemedia\largethumbs\test.png
在我的 default.aspx 页面上,我有一个图像控件:
<asp:Image ID="Image1" runat="server" />
当访问者请求default.aspx页面时,我想从服务器获取test.png图像,在右下角添加水印文本“hello world”。我不想将带水印的图像保存到服务器,因为我想节省存储空间并且仍然想访问原始图像。从显示给访问者的图像中,他最好不能推导出原始文件名,因此不应允许他看到原始文件名是 test.png。
我在 Google 上搜索了很多,但所有示例都将带水印的图像保存到磁盘,这是我不想要的。
我已经有一个httphandler:
Public Class pichandler : Implements IHttpHandler
Public Sub ProcessRequest(ByVal context As HttpContext) Implements IHttpHandler.ProcessRequest
Dim data As Byte()
Dim fName As String
Using w As New generaltablesTableAdapters.freemediaTableAdapter
fName = w.GetDataById(i)(0).medialink.ToString
End Using
data = My.Computer.FileSystem.ReadAllBytes(context.Server.MapPath("~/images/freemedia/thumbs/" & fName))
' --> how can I add a watermark text to the image here?!?!?!?
context.Response.ContentType = "image/jpeg"
context.Response.BinaryWrite(data)
End Sub
End Class
有没有人有关于如何做到这一点的代码示例?
如果有另一种方法可以做到这一点,那也很好。但请展示我如何将带水印的图像作为最终 HTML 的一部分提供。