No.5ベストアンサー
- 回答日時:
ループの中の
.Picture3.Picture = LoadPicture(wkAry(i))
に続いて
.Picture3.Line (50, 50)-(2400, 150), , BF
ですよね?
問題ないままに動いております。
こちらではエラーが出ておりません。
Command1_Clickイベントを張っておきます。
-----------------------------------------------------
Private Declare Function StretchBlt Lib "gdi32" (ByVal hdc As Long, ByVal x As Long, ByVal y As Long, ByVal nWidth As Long, ByVal nHeight As Long, ByVal hSrcDC As Long, ByVal xSrc As Long, ByVal ySrc As Long, ByVal nSrcWidth As Long, ByVal nSrcHeight As Long, ByVal dwRop As Long) As Long
の宣言をした上で
-----------------------------------------------------
Private Sub Command1_Click()
Dim wkAry As Variant
Dim i As Long
Dim lngCntPic As Long
'絵の情報
wkAry = Array( _
"C:\windows\しゃくなげ.bmp" _
, "C:\windows\グリーン ストーン.bmp" _
, "C:\windows\サポテック織り.bmp" _
, "C:\windows\サンタフェ.bmp" _
, "C:\windows\シャボン.bmp" _
)
'ピクチャの数
lngCntPic = UBound(wkAry) + 1
'スクロールピクチャの高さ取得
lngScrollPicH = (lngCntPic + 1) * lngPicH
With Me
.Command1.Enabled = False
.Command2.Enabled = True
With .Picture1
.Visible = True
End With
With .Picture2
.Visible = True
.Width = lngPicW
.Height = lngScrollPicH
.Left = 0
.Top = lngPicH - lngScrollPicH
End With
For i = 0 To lngCntPic - 1
.Picture3.Picture = LoadPicture(wkAry(i))
.Picture3.Line (50, 50)-(2400, 150), , BF
'イメージを取得したいので、ペイントピクチャは使用しない
'Call .Picture2.PaintPicture(.Picture3.Picture, 0, (lngCntPic - i) * lngPicH, lngPicW, lngPicH, 0, 0, .Picture3.ScaleWidth, .Picture3.ScaleHeight, vbSrcCopy)
'イメージを取得したいので、ストレッチぶりっとを使用する
Call StretchBlt(.Picture2.hdc, 0, (lngCntPic - i) * lngPicH, lngPicW, lngPicH, Picture3.hdc, 0, 0, .Picture3.ScaleWidth, .Picture3.ScaleHeight, vbSrcCopy)
If i = 0 Then
'Call .Picture2.PaintPicture(.Picture3.Picture, 0, 0, lngPicW, lngPicH, 0, 0, .Picture3.ScaleWidth, .Picture3.ScaleHeight, vbSrcCopy)
Call StretchBlt(.Picture2.hdc, 0, 0, lngPicW, lngPicH, Picture3.hdc, 0, 0, .Picture3.ScaleWidth, .Picture3.ScaleHeight, vbSrcCopy)
End If
Next i
End With
End Sub
この回答への補足
何度も回答ありがとうございますm(__)m
'.Picture3.Picture = LoadPicture(wkAry(i))
上記文はコメント(')にしています。
No.4
- 回答日時:
文章だけでは、どのようにやって、なぜ実現できていないかがわかりません。
コードの抜粋を公開してみてください。
この回答への補足
先ほど教えていただいたサンプルソース
http://okweb.jp/kotaeru.php3?q=167464の
この一行を変えただけです。
'.Picture3.Picture = LoadPicture(wkAry(i))
.Picture3.Line (50, 50)-(2400, 150), , BF
「ピクチャが不正です」とエラーが発生します。
No.3
- 回答日時:
すいません。
#1の後者の方では実験していませんが、前者の方で、保存できちゃいましたよー
私はWinXPなので、初期設定のビットマップ群のパスを
C:\Winnt⇒C:\Windows
に変更して、コマンドボタン3を追加し、
SavePicture Picture2.Image, "c:\aaa.bmp"
としただけです。
後者の流用でできないのは、AutoRedrawのプロパティが違うのでは?
回答ありがとうございました。
ピクチャ2(子)に画像を取り込むとうまくいきましたが
ピクチャ2(子)にLineで線を描きそれを
ピクチャ1(親)にペイントしようとするとエラーで
戻ってきます。
ピクチャ2(子)の属性(?)をピクチャ1(親)に渡すにはやはり別の方法でないとだめなのでしょうか?
No.2
- 回答日時:
すんません。
日中はVB6がない場所に来ているので、実例でのアドバイスは困難ですー
ExcelVBAではPictureBoxが無いので、擬似的に答えることもできませんですー
帰宅後にサンプルをアップしますねー
No.1
- 回答日時:
Picture親の中に
Picture子1
Picture子2
・・・
Picture子n
があり、Picture親.SvaePictureで子のピクチャを含めて保存したいということですよね?
Picture親の中の子達は、親のサイズ内に全て表示されていますか?
※親の枠をはみ出た位置に配置された子が存在しているのであれば、親に直接描画するしかないと思います。
http://okweb.jp/kotaeru.php3?q=167464
のようにPicture2のサイズを広げ、複数の画像をPicture2に転送して保存する方法が考えられます。
※親の枠をはみ出た位置に配置された子が存在していないのであれば、そのPicure親のイメージを、他のピクチャボックスに転送して、保存したらいいと思います。
http://www.geocities.jp/h_sakusaku/
の「VBサンプル」の「8.画面のスナップ」
この回答への補足
>Picture親の中に
>Picture子1
>Picture子2
>・・・
>Picture子n
>があり、Picture親.SvaePictureで子のピクチャを含め>て保存したいということですよね?
そうです。
Picture親の中の子達は、親のサイズ内に全て表示されています。
後者のサンプルを使ってやったのですが
出来ませんでした。(泣)
新たにピクチャボックス(Picture親2)を用意し
StretchBlt()APIを使って
Picture親の内容をPicture親2にコピーし
SavePicture .Picture親2.Image, strSaveFileName
で保存してみたのですが
やっぱりPicture子nがコピーされずにPicture親の画像のみが保存されました。
どこが悪いのでしょうか?
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- その他(パソコン・スマホ・電化製品) 拡張子の選択方法について 4 2022/09/22 22:04
- 写真・ビデオ iphoneからPCへ写真をインポート、保存先がわかりません。 2 2022/09/29 02:06
- Windows 10 壁紙フォルダが表示されない 1 2022/11/16 21:58
- その他(クラウドサービス・オンラインストレージ) ファイルの保存をOnedriveのクラウド上にする方法を教えて欲しいです。 windows11にてデ 2 2023/02/16 13:37
- その他(クラウドサービス・オンラインストレージ) OneDrive同期解除後、同期できていなかったローカルファイルを復元できますか? 1 2023/03/25 12:38
- Excel(エクセル) [クイックアクセスツールバー]の設定ファイルの格納場所について、 5 2023/04/21 14:43
- その他(クラウドサービス・オンラインストレージ) データ保存先をOneDriveからPC本体に変えたらDocumentとPictureフォルダが消えた 1 2023/07/30 15:48
- デスクトップパソコン ハードディスク修理業者さんって、あとあと変な請求とかします? 6 2022/11/13 13:49
- Windows 10 Windows10のピクチャからiPhoneに画像を移動する方法を教えてください。なるべく簡単な方法 4 2023/04/26 23:17
- ノートパソコン PCのWiFiが繋がらない。 SSDをつけてるのに容量不足の通知が来たり、ソフトが強制終了される。 6 2023/04/27 22:45
このQ&Aを見た人はこんなQ&Aも見ています
-
それもChatGPT!?と驚いた使用方法を教えてください
仕事やプライベートでも利用が浸透してきたChatGPTですが、こんなときに使うの!!?とびっくりしたり、これは画期的な有効活用だ!とうなった事例があれば教えてください!
-
フォントについて教えてください!
みなさんの一番好きなフォントは何ですか? よく使うフォントやこのフォント好きだなあというものをぜひ教えてください!
-
これが怖いの自分だけ?というものありますか?
人によって怖いもの(恐怖症)ありませんか? 怖いものには、怖くなったきっかけやエピソードがあって聞いてみるとそんな感覚もあるのかと新しい発見があって面白いです。
-
何歳が一番楽しかった?
自分の人生を振り返ったとき、何歳のころが一番楽しかったですか? 子供の頃でしょうか、それとも大人になってからでしょうか。
-
2024年においていきたいもの
2024年もあとわずかですが、いま抱えているもので「これは来年にもっていきたくないなぁ」というものを教えて下さい。
-
エクセルのVBAでクリップボードにコピーした画像をpng(or jpg or bmp)保存したい
Visual Basic(VBA)
-
ピクチャボックスに描画した画像の保存
Visual Basic(VBA)
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・「みんな教えて! 選手権!!」開催のお知らせ
- ・漫画をレンタルでお得に読める!
- ・「黒歴史」教えて下さい
- ・2024年においていきたいもの
- ・我が家のお雑煮スタイル、教えて下さい
- ・店員も客も斜め上を行くデパートの福袋
- ・食べられるかと思ったけど…ダメでした
- ・【大喜利】【投稿~12/28】こんなおせち料理は嫌だ
- ・前回の年越しの瞬間、何してた?
- ・【お題】マッチョ習字
- ・モテ期を経験した方いらっしゃいますか?
- ・一番最初にネットにつないだのはいつ?
- ・好きな人を振り向かせるためにしたこと
- ・【選手権お題その2】この漫画の2コマ目を考えてください
- ・2024年に成し遂げたこと
- ・3分あったら何をしますか?
- ・何歳が一番楽しかった?
- ・治せない「クセ」を教えてください
- ・【大喜利】【投稿~12/17】 ありそうだけど絶対に無いことわざ
- ・【選手権お題その1】これってもしかして自分だけかもしれないな…と思うあるあるを教えてください
- ・集合写真、どこに映る?
- ・自分の通っていた小学校のあるある
- ・フォントについて教えてください!
- ・これが怖いの自分だけ?というものありますか?
- ・スマホに会話を聞かれているな!?と思ったことありますか?
- ・それもChatGPT!?と驚いた使用方法を教えてください
- ・見学に行くとしたら【天国】と【地獄】どっち?
- ・これまでで一番「情けなかったとき」はいつですか?
- ・この人頭いいなと思ったエピソード
- ・あなたの「必」の書き順を教えてください
- ・10代と話して驚いたこと
- ・14歳の自分に衝撃の事実を告げてください
- ・人生最悪の忘れ物
- ・あなたの習慣について教えてください!!
- ・都道府県穴埋めゲーム
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Matlabでsin波を使って矩形波を...
-
変数の宣言はすべきでしょうか...
-
ExcelVBAで他のファイル(proje...
-
共有フォルダの「共有のアクセ...
-
テキストボックスを空白にする方法
-
Excel VBA: private sub 内の...
-
texで図と表を並べたい
-
検索結果の指定列をリストボッ...
-
VB2010 TextBoxの数字の表示...
-
C#のループでtextboxに値を入れ...
-
VC++ (byte)(col & 0xFF) の意味
-
VBA public変数はどのようなこ...
-
他のフォームから別のフォーム...
-
C言語のサフィックスについて
-
二点の座標から距離や角度を求...
-
VB6で配列を引数にするときの2...
-
VS CodeでTEXファイルにPDF形式...
-
VBAのユーザーフォームで、テキ...
-
[Excel2000]auto_closeを止めさ...
-
VBAで入力数値について
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
FlexGridで文字色を変更。
-
ピッ、ってアルファベットでど...
-
Matlabでsin波を使って矩形波を...
-
画像をランダムに表示させたい...
-
maximaについて
-
(VB)ピクチャボックスに表示し...
-
VBによる回帰直線のプログラム
-
SavePictureで保存できない
-
もぐらたたきのプログラミング
-
画像処理について。(移動)
-
画像の90度回転表示の処理時間...
-
PictureBoxでのアニメーション...
-
Visual Bassicで画像を回転させ...
-
文字間の幅の設定
-
ピクチャーボックスの画像を印...
-
ボールが壁に当たって跳ね返る...
-
消す軌跡と残す軌跡
-
画像処理
-
label画像の縮小と再表示
-
Picture box の サイズを変更
おすすめ情報