この記事では、主にサムネイルを作る方法を紹介します。
サムネイルを生成する2つの一般的な方法があります。
最初のタイプ:固定サイズの小さな画像にスケーリングします
2番目のタイプ:等しい割合にスケーリングする小さな写真
最初の方法の欠点は、それが絵を変形させることです。
2番目の方法の欠点は、画像がテーブルに表示され、画像のアスペクト比がこのテーブルとは異なる場合、テーブル全体を埋めることができず、見た目が良くないギャップを残すことです。
ここで導入された方法は、ASPJPEGコンポーネントを使用して、スケールクロッピングを修正することです。つまり、生成されたサムネイルのアスペクト比は固定されていますが、変形しません。元の画像のアスペクト比が設定されたアスペクト比よりも大きい場合、両側の余分な写真が自動的にカットされます。また、元の画像のアスペクト比が自動的にカットされた場合、上部と下側の過剰が自動的に切り取られます。
?
- functionmakepic(sourcpic、newwidth、newheight、destpic)
- onerrorresumenext
- makepic = false
- setjpeg = server.createObject(persits.jpeg)
- iferrthen
- Response.Write(エラー:ASPJPEGコンポーネントはスペースにインストールされていません)
- Response.End
- endif
- jpeg.quality = 100
- jpeg.opensourcpic
- jpeg.preserveaspectratio = true '等比スケーリング
- ifjpeg.originalwidth/jpeg.originalheight> newWidth/newHeightThen'it
- jpeg.height = newheight
- jpeg.cropcint((jpeg.width – newwidth)/2)、0、cint((jpeg.width – newwidth)/2)+newWidth、newHeight
- Else'itは高すぎる、上部と下部を切り取ります
- jpeg.width = newWidth
- jpeg.crop0、cint((jpeg.height – newheight)/2)、newWidth、cint((jpeg.height – newheight)/2)+newheight
- endif
- jpeg.savedestpic
- iferr.number = 0thenmakepic = true
- jpeg.close
- setjpeg = Nothing
- エンド機能