サーバーの次のフォルダに画像が保存されています: \images\freemedia\largethumbs\test.png
私の default.aspx ページには、imagecontrol があります。
<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 の一部として提供する方法を教えてください。