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

投稿日: 2002/10/01(Tue) 17:06
投稿者これ
URL
タイトルRe: 画像の一部を取り込む方法

> 画像の種類(BMP、JIF、GPG)を問わず表示した画像の一部をドラッグで指定して
> その部分を別ファイル名をつけて保存したいのですが・・・。
こんにちわ。
どこまで説明していいのか分からないので
簡単ですが、おおまかな流れだけ・・・
各コマンドの詳細などはMSDNとかで調べてください

画像は既にPictureBox1に読み込まれているものとします
(PictureBoxはBMP、JPEG、GIFの表示出来るのはご存知ですね?)
PictureBoxのScaleModeはピクセルに、AutoRedrawはTrueにしておきます
読み込み、保存でのファイル名指定はとりあえず
CommonDialogでやっておきましょう

PictureBox1のMouseDownで開始位置のX-Y座標を取ります
PictureBox1のMouseUpで終了位置のX-Y座標を取ります
終了位置と開始位置の差が、指定範囲での幅と高さになります

ラバーバンドを表示したい場合は
Picture1のMouseMoveにも処理が必要でしょう。

別のPictureBox2にPaintPictureメソッドで
PictureBox1の範囲指定した部分を描画します

そしてPictureBox2の内容を保存します
VB純正のSavePictureではBMPしか保存できませんが
他のDLL等を使えば、JPEGやPNGに保存できます
GIFはいろいろややこしいので出来ないと思ってた方がいいかも・・・

後は、CommonDialogの機能やPaintPicture等をAPI化したり
ご自身の分かる範囲で色々機能拡張してください。


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

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

- Web Forum -