ASPJPEG は Persits によって作成されたシェアウェアで、試用期間は 30 日間です。http://www.persits.com/aspjpeg.exe からダウンロードできます。最新のバージョン番号は1.3です
ASPJPEG は非常に強力な画像処理コンポーネントであり、これを使用すると、画像のサムネイルを簡単に作成したり、画像に透かしを追加したりできます。使用方法を簡単に紹介します。
コンポーネントをインストールするには、まずダウンロードした exe ファイルを実行する必要があります
1. 画像のサムネイルを作成する
<% ///' インスタンスの作成
薄暗いJPEG、パス
Jpeg = Server.CreateObject(Persits.Jpeg) を設定します。
///' 写真の場所
パス = Server.MapPath(画像) & ////クロック.jpg
///' 開ける
Jpeg.オープンパス
///' サムネイルのサイズを設定します(ここでは比率を50%に設定しています)
Jpeg.Width = Jpeg.OriginalWidth / 2
Jpeg.Height = Jpeg.OriginalHeight / 2
///' 指定したフォルダーにサムネイルを保存します
Jpeg.Save Server.MapPath(画像) & //// Clock_small.jpg
///' インスタンスをログアウトします
Jpeg = なしを設定
%>
<IMG SRC=images/lock.jpg><P>
<IMG SRC=images/ Clock_small.jpg>
2. 画像に透かし機能を追加する
<%
DimJpeg
///' インスタンスを作成する
Jpeg = Server.CreateObject(Persits.Jpeg) を設定します。
///' 対象の画像を開きます
Jpeg.Open Server.MapPath(images/dodge_viper.jpg)
///' テキストの透かしを追加します
Jpeg.Canvas.Font.Color = &HFF0000///' 赤
Jpeg.Canvas.Font.Family = 宋代
Jpeg.Canvas.Font.Bold = True
Jpeg.Canvas.Print 10、10、著作権 (c) Cnmaya.org
///' ファイルを保存する
Jpeg.Save Server.MapPath(images/dodge_viper_framed.jpg)
///' オブジェクトの登録を解除する
Jpeg = なしを設定
%>
前回、画像の透かしを作成しましたが、画像の背景を透明にすることができず、背景が透明のGIFを使用すると、自動的に白で塗りつぶされてしまいます。この機能を使用して特定の色を削除すると、画像の色は常に不純になり、結果として得られる効果は斑点になります。今日アイデアを思いついて、背景が透明の gif を使用し、透かしの背景色を抽出して、これら 2 つを組み合わせました。うまくいきました。
ogvbox.Canvas.Pen.Color = &H000000 ///'// 境界線の色
ogvbox.Canvas.Pen.Width = 1 ///'// 境界線の太さ
ogvbox.Canvas.Brush.Solid = False ///'// 画像の境界線を色で塗りつぶすかどうか
ogvbox.DrawImage ogvbox.Width-210, ogvbox.Height-74, Logobox ,0.3,&HFFFFFF ///'// 画像の位置座標を追加します (透かし画像を追加します)。画像サイズから透かしサイズを減算します。右下隅に透かしを追加します。パラメータの順序は次のとおりです: 水平座標、垂直座標、透かし画像アドレス、水銀透明度、抽出色 (&H は 16 進数を意味します)
ogvbox.Canvas.Bar 0, 0, ogvbox.Width, ogvbox.Height ///'// 画像境界線の位置座標とサイズ
ogvbox.Save Server.MapPath(imagename) ///'// ファイルを生成する
/'//------Pollener.comAspJpeg コンポーネントのプレビューとウォーターマークの生成-----開始------
/'プレビュー画像の作成: CreateView を呼び出します (元のファイルへのパス、プレビュー ファイル名とパス)
Sub CreateView(イメージ名,一時ファイル名)
/'変数を定義します。
薄暗いプレビュー画像フォルダ名
Dim ogvbox、objFont
薄暗いロゴボックス、ロゴパス
LogoPath = Server.MapPath(images) & //shuiyin.gif /'//画像のパスとファイル名を追加します (私の場合はフォーラム //images//shuiyin.gif)。
ケースのアップロード_ビュータイプを選択してください
ケース0
/'----------プレビュー画像の作成------
set ogvbox = Server.CreateObject(CreatePreviewImage.cGvbox)
ogvbox.SetSavePreviewImagePath=Server.MapPath(tempFilename) /'プレビュー画像の保存パス。
ogvbox.SetPreviewImageSize =SetPreviewImageSize /'プレビュー幅。
ogvbox.SetImageFile = trim(Server.MapPath(imagename)) /'imagename の元のファイルの物理パス。
/'プレビュー画像ファイルを作成します。
ogvbox.DoImageProcess=false の場合
Response.write でプレビュー画像エラーが生成される:&ogvbox.GetErrString
終了の場合
ケース1
/'----------AspJpegV1.2------
Logobox = Server.CreateObject(Persits.Jpeg) を設定します。
//'//画像とテキストの透かしを同時に使用しないことをお勧めします。このコードは画像の透かしを使用します。
Logobox.Open LogoPath /'//追加された画像を読み込みます。
//'//画像のサイズをリセットします。
Logobox.Width = 186 /'//透かしとして使用される画像の幅の値 (ピクセル)。
Logobox.Height = 52 /'//透かしとして使用される画像の高さの値 (ピクセル)。
//'//透かしを追加します。
ogvbox = Server.CreateObject(Persits.Jpeg) を設定します
/'//処理対象の元のファイルを読み込みます。
ogvbox.Open Trim(Server.MapPath(imagename))
ogvbox.OriginalWidth<Cint(ImageWidth) または ogvbox.Originalheight<Cint(ImageHeight) の場合
F_ビュー名=
ogvbox = なしを設定します
出口サブ
それ以外
IF ImageMode<> と FileExt<>gif then /'//この行を IF ImageMode<> then に変更すると、アップロードされた GIF 画像に透かしを追加することもできますが、アニメーション GIF は透かしを追加した後にのみ残ります。必要に応じて処理してください。
/'//フォントと文字色の変更について。
/'//ogvbox.Canvas.Font.Color = &H0000FF /'//透かしテキストの色。&H の後に色の値を入力します。
/'//ogvbox.Canvas.Font.Size = 18 /'//透かしテキストのサイズ。
/'//ogvbox.Canvas.Font.Family = Arial /'//透かしテキストのフォント名。
/'//ogvbox.Canvas.Font.ShadowColor = &H000000 /'//透かしテキストの影の色。
/'//ogvbox.Canvas.Font.ShadowXoffset = 1 /'//右にオフセットする透かしテキストのシャドウのピクセル値 負の値を入力すると、左にオフセットされます。
/'//ogvbox.Canvas.Font.ShadowYoffset = 1 /'//透かしテキストの影を下にオフセットするピクセル値。負の値を入力すると、右にオフセットされます。
/'//ogvbox.Canvas.Font.Quality = 3 /'//透かしテキストの明瞭度の範囲は 0 ~ 4 です。変化はそれほど大きくありません。2 または 3 を使用することをお勧めします。
/'//ogvbox.Canvas.Font.Bold = True /'//透かしテキストが太字かどうか、True=太字、False=標準。
/'ogvbox.Canvas.Print 10, 10, ImageMode /'//透かしテキストの開始座標 (ピクセル)。
ogvbox.Canvas.Pen.Color = &H000000 /'//画像の境界線の色に透かしを追加します。
ogvbox.Canvas.Pen.Width = 1 /'//透かし入れ後の画像の境界線の幅を増やします。
ogvbox.Canvas.Brush.Solid = False /'//境界線が色で塗りつぶされているかどうか、値が True の場合の効果を試してみることができます^o^
ogvbox.DrawImage ogvbox.width-186, ogvbox.height-52, Logobox, 0.5 /'//ここで、ogvbox.width-186、ogvbox.height-52 は、画像が右下隅、私の写真の幅は186、高さは52なので、このように書くと、自分の写真に合わせて調整できます。 0.5 は透明度を意味します。ここでは半透明度を意味します。1 は不透明度を意味します。効果を確認するために 0.7 または 0.8 を試すこともできます。
ogvbox.Canvas.Bar 0, 0, ogvbox.Width, ogvbox.Height /'//ウォーターマークの利用可能な範囲。ここで私が言いたいのは、透かしは画像全体の左上隅から右下隅までのどこにでも追加できるということです。
ogvbox.Save Server.MapPath(imagename) /'//上記のパラメータに基づいてウォーターマークを追加した画像ファイルを生成します。
終了の場合
ogvbox.Width = 画像幅
ogvbox.height = 画像の高さ
/'ogvbox.height = ogvbox.Originalheight*ImageWidth//ogvbox.OriginalWidth
ogvbox.シャープ 1、120
ogvbox.Save Server.MapPath(tempFilename) /'//ウォーターマークを追加した後の画像のプレビュー画像を生成します。
終了の場合
Logobox=Nothing を設定します
/'//------Pollener.comAspJpeg コンポーネントのプレビューとウォーターマーク生成-----終了------