Tips Area

 Tips No.3 画像をリサイズ/反転して描画する


 ImageコントロールまたはPictureBoxコントロールに入っている画像を他のPictureBoxコントロールにリサイズしたり、反転したりして描画する方法です。

元画像
拡大画像
反転画像
元画像
縦横2倍に拡大した画像
各方向への反転した画像

 今回は具体的なサンプルコードは載せません。サンプルをダウンロードして見て下さい。



 まずは通常の画像描画です。そのままの転写ですね。以下のようなコードになります。

picDest.PaintPictre picSrc.Picture, 0, 0, picSrc.ScaleWidth, picSrc.ScaleHeight↓


 PaintPictureメソッドを使います。ほぼ、ヘルプに乗っているようなものですね。
 各引数について、順番に概説を下に書きます。
  • 描画するピクチャ
  • 描画開始X座標
  • 描画開始Y座標
  • 描画幅
  • 描画高
 これ以降は省略されていますが、同様に概説を下に書きます。
  • 描画元X座標
  • 描画元Y座標
  • 描画元幅
  • 描画元高
 次は縦横それぞれ2倍に拡大しての画像描画です。以下のようなコードになります。

picDest.PaintPictre picSrc.Picture, 0, 0, picSrc.ScaleWidth * 2, picSrc.ScaleHeight * 2,
 0, 0, picSrc.ScaleWidth, picSrc.ScaleHeight↓


 描画時のサイズを2倍にすることで、画像を拡大しています。同様に、縮小することも可能です。

 次は左右反転しての画像描画です。以下のようなコードになります。

picDest.PaintPictre picSrc.Picture, picSrc.ScaleWidth, 0, -picSrc.ScaleWidth, picSrc.ScaleHeight↓


 張り付け幅が負の値になっています。このように、幅または高さに負の値を指定すると画像を反転することができます。
 また、画像を反転した場合、画像は描画X座標から左へではなく、X座標から「右へ」描画されることになります。
 従って、画像を反転するときは「画像の右端」、「−画像の幅」と指定します(X座標の場合のみ説明しました)。

 今回の Tips のサンプルが下でダウンロードできます。

 画像をリサイズ/反転して描画する(VB5以降) (2.00KB)
   Download 

→ Tips  → Top  

Build & Management is Wajin Kisaragi
WK Project 1998-2001

Mail address is feb_tr@mail.goo.ne.jp