aspjpeg は非常に強力な画像処理コンポーネントであり、純粋な英語版です。ただし、無料版やクラック版はすでに存在しますが、それらを詳細かつ詳細に紹介する記事はあまりありません。あっても、画像のサムネイルと画像のウォーターマークに関するものだけです。純粋な英語だからかもしれません。
今回はこれらを踏まえたaspjpegの高度な使い方についてお話します。ここでのテクノロジーには主に次のものが含まれます。
画像のサムネイル、画像の透かし、セキュリティ コード技術、画像の切り取り、画像の結合、データベースのサポート、より一般的ではない手法の紹介および関連する実用的な技術
aspjpeg の唯一の欠点は、出力方法が比較的単純であることです。ここでは主に、画像処理を保存して呼び出すこの出力メソッドについて説明します。また、私は怠け者なので、一部のコードは元のドキュメントから引用したままで、わからないことは時々説明します!
VB や .net を勉強したことのある同志なら、間違いなく一目で理解できるでしょう。ブラシが来ます。ふふ。
1. 画像のサムネイル
<%
Set Jpeg = Server.CreateObject("Persits.Jpeg") はコンポーネントを呼び出します
Path = Server.MapPath("images") & " Clock.jpg" 処理対象の画像のパス
Jpeg.Open Path は、元の画像の高さと幅の 1/2 で画像を開きます。
Jpeg.Width = Jpeg.OriginalWidth / 2
Jpeg.Height = Jpeg.OriginalHeight / 2
画像を保存
Jpeg.Save Server.MapPath("images") & " Clock_small.jpg"
%>
<IMG SRC="images/ Clock_small.jpg"> 処理された画像を表示する
2. 画像の透かし
<%
Set Jpeg = Server.CreateObject("Persits.Jpeg")
Jpeg.Open Server.MapPath("images/dodge_viper.jpg")
テキストを書き始める
Jpeg.Canvas.Font.Color = &000000' 赤色
Jpeg.Canvas.Font.Family = "Courier New" フォント
Jpeg.Canvas.Font.Bold = 太字にするかどうかを True
Jpeg.Canvas.Print 10、10、「著作権 (c) XYZ, Inc.」
印刷座標 x 印刷座標 y 印刷する文字 以下は画像の枠線処理です
Jpeg.Canvas.Pen.Color = &H000000' 黒色
Jpeg.Canvas.Pen.Width = 2 ブラシ幅
Jpeg.Canvas.Brush.Solid = False 太字にするかどうか
Jpeg.Canvas.Bar 1、1、Jpeg.Width、Jpeg.Height
開始 X 座標 開始 Y 座標 入力長さ 入力高さ
Jpeg.Save Server.MapPath("images/dodge_viper_framed.jpg")
%>
3. セキュリティ コード
セキュリティ コードの原理は、透かしを追加するのと似ています。多くの友人が私に具体的なコーディング技術について尋ねますが、ほとんどの人は教えてくれません。ふふ。
<%
セキュリティコードを生成する機能www.downcodes.com
関数 make_randomize(max_len,w_n) max_len は長さを生成します、w_n: 0 には文字を含めることができます、1: 数字のみを含めます
ランダム化する
intcounter=1 から max_len まで
whatnext=int((1-0+1)*rnd+w_n)
if whatnext=0 then
上=122
下=97
それ以外
上=57
下=48
終了する場合
strnewpass=strnewpass & chr(int((上-下+1)*rnd)+下)
次
make_randomize=strnewpass
終了関数
%>
セキュリティ コードの画像を生成します。もちろん、
4桁のセキュリティコードを生成するには、事前に背景画像を準備する必要があります<%random_num=make_randomize(4,1)
session("random_num")=random_num なぜセッションを呼び出すのでしょうか? セッションセキュリティコードがなければまったく意味がありません。笑
Set Jpeg = Server.CreateObject("Persits.Jpeg") はコンポーネントを呼び出します
Jpeg.Open Server.MapPath("infos/random_pic/random_index.gif") 用意された画像を開きます
Jpeg.Canvas.Font.Color = &H006699
Jpeg.Canvas.Font.Family = "Arial Black"
Jpeg.Canvas.Font.Bold = false
Jpeg.Canvas.PrintText 0、-2、random_num
jpeg.save Server.MapPath("infos/random_pic/random_index.bmp") 保存
%> <img src="infos/random_pic/random_index.bmp" border="0" align="absmiddle">
自分でやってください。ふふ。
4. 画像のカット
長い間、aspjpeg を知らない人は、これを使用してカットすることはできないと考えていました。
実はそんな方法もあるのです
クロップ x1、y1、x2、y2
長方形の左上隅の x 座標と、長方形の右下隅の y 座標を切り取ります。以下にデモを示します。
Set Jpeg = Server.CreateObject("Persits.Jpeg")
jpeg.open server.MapPath("/pic/1.gif")
jpeg.width=70
Jpeg.Height = Jpeg.OriginalHeight*70 / jpeg.Originalwidth
jpeg.crop 0,0,70,52 カットの開始は、実際には 52 ピクセルを超える下の部分を削除することです。
jpeg.save server.MapPath("/temp_pic/small_1.gif") 非常に簡単に保存してみます。
5. 画像の結合
ここでは、ロゴ画像を dodge_viper.jpg 画像に追加します。実際、画像の結合方法を使用して、ウォーターマークを動的に追加することもできます。
Set Photo = Server.CreateObject("Persits.Jpeg")
PhotoPath = Server.MapPath("images") & "dodge_viper.jpg"
Photo.PhotoPath を開く
Set Logo = Server.CreateObject("Persits.Jpeg")
LogoPath = Server.MapPath("images") & " Clock.jpg"
Logo.Open LogoPath
Logo.Width = 70
Logo.Height = Logo.Width * Logo.OriginalHeight / Logo.OriginalWidth
Photo.DrawImage 0, 0, Logo
Photo.SendBinary ここではsendBinaryの出力メソッドを使用します。もちろん、変更した dodge_viper.jpg を保存してから入力することもできます。個人的には、sendBinary メソッドはネットワーク速度が遅い場合にエラーが発生しやすいため、使いたくないです。スピードに関してもあまりありません。ふふ。
6. データベースのサポート
ここでは詳細には触れません。実際、これはバイナリ方式です。ご存知のとおり、画像はデータベースに保存するときにバイナリ ファイルとしてのみ保存できます。したがって、コードは遅延して書かれました。
7.
Canvas.Line(Left, Top, Right, Bottom) を
導入するその他のメソッド
直線を引く
Canvas.Ellipse(左、上、右、下)
楕円を描く
Canvas.Circle(X, Y, 半径)
円を描く
Canvas.Bar(左、上、右、下)
導入されたコードを含む長方形を描画します
Canvas.Font.ShadowColor
テキストの影の色
Canvas.Font.ShadowXOffset と同じ長さ
影X座標設定
Canvas.Font.ShadowYOffset と同じ長さ
Y座標設定
文字列としての Canvas.Font.BkMode
テキストの背景
この記事の著者: Yulang この記事は転載されたものであり、著作権はオリジナルの著者に属します。