VB6.0用掲示板の過去のログ(No.1)−VBレスキュー(花ちゃん)
[記事リスト] [新規投稿] [新着記事] [ワード検索] [過去ログ] [管理用]

投稿日: 2002/10/04(Fri) 11:22
投稿者これ
URL
タイトルRe^3: 画像の一部を取り込む方法

> ☆一つ目の質問です:
>    Picture1.PaintPicture Picture2.????・・・・
> の「.????・・・・」の部分がわかりません。
> ☆二つ目:
> どのようなコーディングを書いたらよいのでしょうか?
> ☆三つ目:
> このDLLの使い方もまったく理解できておりません。
> この点もアドバイスして頂ければと存じます。
> 結局、初歩の基本的なことしか理解できておりません。

ソースを全部書いてしまうと
うまさんのためにならないと思いますので
今回も概略+ちょっと詳細説明で。
回答の順序が前後しますが・・・

まず、ラバーバンドについて。
ラバーバンドの描画方法は色々あると思うのですが
僕の場合、長方形のShapeコントロールを使った
簡単な方法でやっています。
「ラバーバンド VB」で検索かければ、いくつかサンプルが
引っかかると思いますので、これにこだわらず
ご自分の使いやすい方法を探すのも一つの手かと思います。

Picture1のMouseDownで開始X-Y座標を取りましたが
その値をShapeコントロールのLeft、Topに設定し、表示します。
同時にDrag中のフラグをセットします。

Picture1のMouseMoveで
Drag中フラグがONなら現在のX-Y座標と開始X-Y座標の差を
ShapeコントロールのWidth、Heightプロパティに設定します。
開始座標からマイナス方向に現在位置が変わった場合
ShapeコントロールのLeft、Topプロパティの値を
現在の座標に置換えます。

Picture1のMouseUpでDrag中フラグをOFFにします

次にPaintPicture
MSDNによれば
描画先PictureBox.PaintPicture 元PictureBox.Picture, _
    描画先X座標, 描画先Y座標, 描画先幅, 描画先高さ, _
    元X座標, 元Y座標, 元幅, 元高さ, _
    描画方法
となっています。
描画先はPicture2、元はPicture1ですね。
ここでの元座標や幅、高さはラバーバンドに使っている
ShapeコントロールのLeft、Top、Width、Heightが使えます。
描画方法はそのままコピーするので「vbSrcCopy」を指定します。

最後に保存
基本しか理解されていないとのことでしたので
まずはBMPに保存することに限定されてはいかがでしょう?
SavePicture 描画先PictureBox.Image, 保存先パス
となっています。

その次として、Jpegファイルの保存ですが
僕の場合、明熊工房さんの明熊JPG保存DLLを使っています。
詳細は下記URLでお願いします。
http://www.akikuma.cx/Top.htm
BMP保存が出来ていれば、JPG移行や拡張は簡単だと思います。
がんばってください。


- 関連一覧ツリー (★ をクリックするとツリー全体を一括表示します)

- 返信フォーム (この記事に返信する場合は下記フォームから投稿して下さい)

- Web Forum -