画像の縦横サイズを同一にするための補完方法
- 題名: 画像の縦横サイズを同一にするための補完方法
- 著者: チャッピーヌ
- 日時: 2009/08/16 5:05:29
- ID: 25215
- この記事の返信元:
- この記事への返信:
- ツリーを表示
- 題名: Re[1]: 画像の縦横サイズを同一にするための補完方法
- 著者: 魔界の仮面弁士
- 日時: 2009/08/16 9:22:29
- ID: 25217
- この記事の返信元:
- この記事への返信:
- ツリーを表示
- 題名: Re[2]: 画像の縦横サイズを同一にするための補完方法
- 著者: チャッピーヌ
- 日時: 2009/08/16 10:14:17
- ID: 25218
- この記事の返信元:
- この記事への返信:
- ツリーを表示
分類:[.NET]
画像ファイルの縦・横サイズを200ピクセルに拡大・縮小し、
保存するプログラムを作ろうとしています。
縦・横サイズが同じであれば問題ないのですが、
例えば縦:300ピクセル、横:240ピクセルなどの場合、
比率を調整した後の画像サイズは
縦:200ピクセル、横:160ピクセルとなります。
ここで横のサイズを200ピクセルになるように引き伸ばすのではなく、
40ピクセル分を白背景にしたい…不足分をなんらかの形で
補完できないものかと考えております。
40ピクセル分を動的に作る(作れるのか?)…
白い画像で200*200のものを用意し、それに加工した画像を重ねる…
…などなど、頭ではモヤモヤと浮かぶのですが、
実現方法に苦慮しております。
よろしくお願い致します。
ちなみにPG自体はDOBONさんの拡大・縮小方法のサンプルをもとにしています。
これをベースになんとかならないものかな、などと考えております。
'画像を拡大、縮小して表示する(スケーリング)
'Bitmapオブジェクトの作成
Dim img As Bitmap = New Bitmap("C:\test.bmp")
'PictureBox1のGraphicsオブジェクトの作成
Dim g As Graphics = PictureBox1.CreateGraphics()
'元の画像の大きさを1.5倍にして表示する
Dim rect As RectangleF = _
New RectangleF(0, 0, 1.5F * img.Width, 1.5F * img.Height)
g.DrawImage(img, rect)
'または、次のようにも書ける
g.DrawImage(img, 0, 100, 1.5F * img.Width, 1.5F * img.Height)
'BitmapとGraphicsオブジェクトを破棄
img.Dispose()
g.Dispose()