ホーム ] わが家のPC環境 ] 64ビットPC自作 ] 地デジ ] PC音楽システム ] PC写真システム ] Exifファイル入門 ]

上へ
ワークフロー
画像仕様
フォルダ構成
データベース構成
システム運用系
植物写真系
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