上へ ワークフロー 画像仕様 フォルダ構成 データベース構成 システム運用系 植物写真系 Web処理系 写真表示コントロール 写真画像生成 現像(Nikon Capture 4)との連携 写真印刷
| |
PC写真システム |
写真画像生成 |
最終更新日:2006/09/06
修正 |
原画のJPGから必要な画像を生成する方法である。ごく簡単な事例であるが、紹介する。
●概要
Print サイズのJPG を原画として、必要なサイズの画像を生成する。ビットマップオブジェクトで処理する。
●事例
Friend Enum PhotoID
Thumb
SmallWeb
LargeWeb
Monitor
Print
RAW
End Enum
'共通の写真長辺値(ピクセル)
Friend Const TLong As Integer = 200
Friend Const SLong As Integer = 350
Friend Const LLong As Integer = 700
Friend Const MLong As Integer = 1024
Friend PhotoLong() As Integer = {TLong, SLong, LLong, MLong}
bmp に原画を入れ、cmp に目的の画像が返る。
Friend Sub CreatePhoto(ByVal Photo As PhotoID,
ByRef bmp As Bitmap, ByRef cmp As Bitmap)
Dim w, h, nw, nh As Integer
w = bmp.Width
h = bmp.Height
If w > h Then
nw = PhotoLong(Photo)
nh = nw * h / w
Else
nh = PhotoLong(Photo)
nw = nh * w / h
End If
cmp = New Bitmap(nw, nh, PixelFormat.Format32bppRgb)
Dim g As Graphics = Graphics.FromImage(cmp)
'目的サイズの空白画像をグラフィックにする
g.InterpolationMode =
Drawing2D.InterpolationMode.HighQualityBicubic
g.DrawImage(bmp, New RectangleF(0, 0, nw, nh))
'最高の補間にて画像を縮小
g.Dispose()
End Sub
|