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

投稿日: 2007/05/11(Fri) 11:04
投稿者はやし
Eメール
URL
タイトルRe^2: メモリDCからビットマップファイルに保存するには?

花ちゃんさん、お返事有難うございます。

> この時に画像はどのように表示させているのですか?

画像はカメラで撮影したものを某会社のdllの関数を使って読込んで、PictureBoxに反映させています。PictureBoxを2枚貼り付けて、内側のPictureBoxにSelectObjectしたものをBitBltで転送します。その横に垂直スクロールバーと水平スクロールバーをつけています。
因みに取得したデータの画像サイズは1360×1024です。

PictureBox自体はスクロールバーを動かすと、中身も動くので連携は取れていると思うのですが、
画像はPictureBoxのサイズでしか表示出来ません。

私はその原因はBitBltを使っている為と考えています。(転送先DCの矩形領域に合わせているから?)
表示だけの問題なら、スクロールバーを動かす度に転送処理をすれば描画は出来るのだと思いますが、私がやりたいのは、画像データをそのままビットマップファイルに保存することなのです。
なのでSavePictureしても、切り取られて表示している部分しか保存されず、意味がありません。

そこで、メモリDC上にあるビットマップをそのままファイルに落とすことが出来ないだろうかと
考えたのです。それが無理なら画像データの配列を取得して、自力でBitmapファイルを作るしかないかなと思っています。

何かやり方を間違えているのでしょうか?BitBltを使っても、表示されない部分のデータを保存出来るのでしょうか?

> 通常は、画像サイズのPictureBoxに表示させ、そのPictureBoxをスクロールさせるのでは。
画像サイズのPictureBoxっていうのは、そのままの意味でしょうか?


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

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

- VBレスキュー(花ちゃん) - - Web Forum -