【Class Library】


色々な画像のコピー


 元画像を拡大・縮小、反転、変形することは簡単で、VB標準のPaintPicture メソッドを使用します。

実行後、次のようなコピーが行われます。


★クラス内の処理内容---以下の処理が全処理です★

'============================================================
'CopyGraphic   色々な描画コピーをする
'------引数--------------------------------------------------
'SPic      コピー先のピクチャボックス
'TPic      コピー元のビットマップが入ったピクチャボックス
'CopyType コピーの種類 '============================================================ Public Sub CopyGraphic(SPic As Object, TPic As Object, _ CopyType As Integer) Dim sx As Long, sy As Long 'コピー先開始座標 Dim spw As Long, sph As Long 'コピー元の画像の幅,高さ Dim tpw As Long, tph As Long 'コピー先の画像の幅,高さ spw = SPic.Width sph = SPic.Height '引数に従いコピーの種類を区別する Select Case CopyType Case 2 '鏡像(Y軸対称) sx = TPic.Width - 1& sy = 0& tpw = -TPic.Width tph = TPic.Height Case 3 '鏡像(X軸対称) sx = 0& sy = TPic.Height - 1& tpw = TPic.Width tph = -TPic.Height Case 5 '180度回転 sx = TPic.Width - 1& sy = TPic.Height - 1& tpw = -TPic.Width tph = -TPic.Height Case Else 'そのほか sx = 0& sy = 0& tpw = TPic.Width tph = TPic.Height End Select TPic.PaintPicture SPic.Picture, sx, sy, tpw, _ tph, 0&, 0&, spw, sph, vbSrcCopy End Sub


★クラスの使用法★

    Dim ccg As New CCopyGra
    Call ccg.CopyGraphic(sourcePic, Picture1(index), index)


★使用上の注意★

 このクラスのプロシージャは、ピクセル単位で取り扱っています。従って、 FormとPictureオブジェのScaleModeが3でなければなりません。 また、PictureオブジェのAppearanceを0,BorderStyleを0にしておいて下さい。


(サンプルプログラムの動作確認)

機種 PC-9821V13S
OS Windows95
開発ツール Visual Basic Ver.4.0
更新日 99/10/10

ダウンロード 公開停止

Visual Basic Ver.5.0,Ver.6.0でも問題なく動作すると思います。
なお、このコーナーに掲載されているプログラムコード、およびプログラムファ イルが原因で起きた損害などに関して一切の責任を負うことはできません。

★このコーナーに掲載されているプログラムコード、およびプログラムファ イルを無断で配布・転載することは、原則として禁止です。


Class Libraryインデックス トップページ


Copyright(C)1999-2000 Tomoya. All rights reserved.