Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


27598 / 76732 ←次へ | 前へ→

【54452】Re:Formに描画(API LineTo など)した絵をBitMapで保存できますか?
発言  neptune  - 08/3/13(木) 16:20 -

引用なし
パスワード
   みなさんこんにちは

先ず訂正。私の環境ではUserFormのクラス名は以下でした。
Private Const FormClassName As String = "ThunderDFrame"

取り合えず、imageには下記のような感じで描画は出来ます。
で、yuu1さんからのご指摘の問題はあります。原因はご指摘の通りです。

そこで、これは描画を見せる為の表示用で、裏で、先のサンプルのように
メモリ上で描画し、それを保存してはどうでしょうか?

imageを2つ用意しておいて1つは「描画中を見せる為の表示用」と、
もう一つは非表示でメモリ上で書き終わった時点でファイルに保存後、
再度読み込み後「表示用」と入れ替えるとか。
それなら再描画でも消えません。
↑の検証はしてませんが、メモリ上の描画のみはかなり早いはずです。
出来なかったらごめんなさい。

VBWASURETA さんの方法と比較して、より良い方法をご検討下さい。

Private Sub CommandButton1_Click()
Dim hImg As Long  'UserForm1のImageコントロールのHWND
Dim hDC As Long   'ImageのHDC
Dim img As MSForms.Image
Dim i As Long, ret As Long
Dim rc As RECT

  Set img = UserForm1.Controls.Item("image1")
  hImg = findchild
  hDC = GetDC(hImg)
  
  Call GetWindowRect(hImg, rc)
  MoveToEx hDC, rc.Left, rc.Top, 0
  LineTo hDC, rc.Right, rc.Buttom
  Sleep 500  'ちょっと時間差を付けてみただけ。
  MoveToEx hDC, rc.Right, rc.Top, 0
  LineTo hDC, rc.Left, rc.Buttom
'  'ビットマップには書いてないので保存は出来ません。
'  SavePicture img.Picture, ThisWorkbook.Path & "\test1.bmp"

  Set img = Nothing
  ret = DeleteDC(hDC)

'  UserForm1.Repaint 'これを実行すると消えます。
End Sub
0 hits

【54392】Formに描画(API LineTo など)した絵をBitMapで保存できますか? みそじのおじさん 08/3/11(火) 14:51 質問
【54394】Re:Formに描画(API LineTo など)した絵を... みそじのおじさん 08/3/11(火) 15:42 質問
【54395】Re:Formに描画(API LineTo など)した絵を... VBWASURETA 08/3/11(火) 16:15 回答
【54396】Re:Formに描画(API LineTo など)した絵を... neptune 08/3/11(火) 16:19 発言
【54398】Re:Formに描画(API LineTo など)した絵を... みそじのおじさん 08/3/11(火) 17:38 質問
【54399】Re:Formに描画(API LineTo など)した絵を... VBWASURETA 08/3/11(火) 17:45 発言
【54401】Re:Formに描画(API LineTo など)した絵を... みそじのおじさん 08/3/11(火) 18:49 質問
【54403】Re:Formに描画(API LineTo など)した絵を... VBWASURETA 08/3/11(火) 20:58 発言
【54408】Re:Formに描画(API LineTo など)した絵を... VBWASURETA 08/3/12(水) 2:49 発言
【54435】Re:Formに描画(API LineTo など)した絵を... みそじのおじさん 08/3/12(水) 19:32 質問
【54437】Re:Formに描画(API LineTo など)した絵を... VBWASURETA 08/3/12(水) 23:04 発言
【54438】Re:Formに描画(API LineTo など)した絵を... neptune 08/3/12(水) 23:21 発言
【54439】Re:Formに描画(API LineTo など)した絵を... neptune 08/3/12(水) 23:23 発言
【54451】Re:Formに描画(API LineTo など)した絵を... みそじのおじさん 08/3/13(木) 16:08 発言
【54454】Re:Formに描画(API LineTo など)した絵を... VBWASURETA 08/3/13(木) 17:52 発言
【54461】Re:Formに描画(API LineTo など)した絵を... みそじのおじさん 08/3/13(木) 22:30 発言
【54462】Re:Formに描画(API LineTo など)した絵を... VBWASURETA 08/3/14(金) 0:34 発言
【54463】Re:Formに描画(API LineTo など)した絵を... VBWASURETA 08/3/14(金) 1:19 発言
【54452】Re:Formに描画(API LineTo など)した絵を... neptune 08/3/13(木) 16:20 発言
【54404】Re:Formに描画(API LineTo など)した絵を... neptune 08/3/11(火) 21:23 発言
【54450】Re:Formに描画(API LineTo など)した絵を... yuu1 08/3/13(木) 15:56 回答
【54464】Re:Formに描画(API LineTo など)した絵を... VBWASURETA 08/3/14(金) 9:15 発言
【54548】Re:Formに描画(API LineTo など)した絵を... みそじのおじさん 08/3/18(火) 11:32 お礼
【54550】Re:Formに描画(API LineTo など)した絵を... yuu1 08/3/18(火) 12:55 回答
【54551】Re:Formに描画(API LineTo など)した絵を... neptune 08/3/18(火) 14:55 発言
【54552】Re:Formに描画(API LineTo など)した絵を... VBWASURETA 08/3/18(火) 15:53 発言
【54559】Re:Formに描画(API LineTo など)した絵を... みそじのおじさん 08/3/19(水) 10:59 お礼
【54560】Re:Formに描画(API LineTo など)した絵を... neptune 08/3/19(水) 13:03 発言

27598 / 76732 ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free