Asp.Net画像に文字透かしを追加
1979 ワード
MOPにそのようなダイナミックな画像が貼られているのをよく見ますが、1つの文字列をパラメータとしてダイナミックなページに渡すと、この文字列を持つ画像が生成されます.これを文字透かしと言います.元のパンダシリーズとか、後の大きな木や金の棒とか、面白いですね.Aspを使います.Netはとても簡単なことを書きました.すべてのコードは次のとおりです.
このコードをaspxファイルに保存すればaspx.そしてwwwrootに入れます(仮想ディレクトリがデフォルトであると仮定します).もう一つTalkを作ります.JPGの画像は、(20,190)というところに「中国語楷書」というフォントの文字を印刷することができます.呼び出し方法は簡単です.
http://localhost/Test.aspx?str=テストしてみます!
印刷位置やフォント、画像ファイルは自分で設定できます.また、e文をパラメータとして正常に表示するが、中国語では表示できない場合があるのは、Aspのためである.Netのweb.configの設定が正しくないため、以下の設定が必要です.
これで、正常に表示されます.
どのように元のピクチャーに影響しない基礎の上で動態的に、区別があっていくつかのピクチャーに私達の必要な透かしを追加して、ピクチャーの“罪のない”が他の人に使用されることを防止して、同時に自分のウェブサイトのために広告をすることができて、ほほほ.主にIHttpHandlerというインタフェースの使い方を示す.
<br> Dim FilePath As String = Server.MapPath("Talk.JPG")
<br> Sub Page_Load(Sender As Object, E As EventArgs)
<br> Dim image As System.Drawing.Image = System.Drawing.Image.FromFile( FilePath )
<br> Dim g As Graphics = Graphics.FromImage(image)
<br> g.DrawImage(image, 0, 0, image.Width, image.Height)
<br> Dim f As Font = new Font(" ", 40)
<br> Dim b As Brush = new SolidBrush(Color.Black)
<br> Dim s As String = Left(Request.QueryString("str"), 7)
<br> g.DrawString(s, f, b, 20, 190)
<br> image.Save(Response.OutputStream, System.Drawing.Imaging.ImageFormat.Jpeg)
<br> g.Dispose()
<br> image.Dispose()
<br> End Sub
<br>
このコードをaspxファイルに保存すればaspx.そしてwwwrootに入れます(仮想ディレクトリがデフォルトであると仮定します).もう一つTalkを作ります.JPGの画像は、(20,190)というところに「中国語楷書」というフォントの文字を印刷することができます.呼び出し方法は簡単です.
http://localhost/Test.aspx?str=テストしてみます!
印刷位置やフォント、画像ファイルは自分で設定できます.また、e文をパラメータとして正常に表示するが、中国語では表示できない場合があるのは、Aspのためである.Netのweb.configの設定が正しくないため、以下の設定が必要です.
これで、正常に表示されます.
どのように元のピクチャーに影響しない基礎の上で動態的に、区別があっていくつかのピクチャーに私達の必要な透かしを追加して、ピクチャーの“罪のない”が他の人に使用されることを防止して、同時に自分のウェブサイトのために広告をすることができて、ほほほ.主にIHttpHandlerというインタフェースの使い方を示す.