• ベストアンサー

SavePicture

ひさしぶりに質問します。 以前にVBフォームのピクチャーボックスに画像を貼り 保存するやり方を教えて頂いたHUKAHIREですが、 Windows Update等をしていたらSavePictureって.NETで 仕様変更されたんですか? 良く分からないんですけど動かなくなっちゃったんです。 なので VBフォームのピクチャーボックス、もしくはVBから 起動したエクセル内のグラフを画像として保存できる 方法を教えて下さい。 宜しくお願いしますっ。

質問者が選んだベストアンサー

  • ベストアンサー
  • 2ch
  • ベストアンサー率51% (64/125)
回答No.2

URL発見 http://oshiete1.goo.ne.jp/kotaeru.php3?q=171840 関数『creBitMap』でしていること 1.ピクチャボックスを創成 2.ピクチャボックスの初期設定 3.画像の転送 4.画像の保存 5.ピクチャボックスを破棄 以上のことをしているみたいだけど、あらかじめピクチャボックスをフォームに張っておいて、初期設定を済ませておいて、画像の転送をしたとき、既存のソースでピクチャボックスに正常に転送されていますか?もちろん、ピクチャボックスの破棄をしないで、上記のことをやってみてください。 どの時点でコケているかが、同環境でないと検証ができないので、こまめなデバッグ作業が必要です。

HUKAHIRE
質問者

補足

 回答ありがとうございます。でも、そのURLは私が以前に書き込んでたもので、、それが今動かなくなっちゃってるんですよね。  4.画像の保存のところで使用しているSavePictureっていう関数で落ちちゃってるんですよ。  なので4.画像の保存の方法を教えて頂けると嬉しいです。宜しくお願いします。

その他の回答 (3)

  • 2ch
  • ベストアンサー率51% (64/125)
回答No.4

うーむ APIであることにはあるのですが、、、 使ったことがないので、何とも言えない。。。 _(._.)_

  • 2ch
  • ベストアンサー率51% (64/125)
回答No.3

SavePictureだけ? ふむ? 他の動きはおかしくないのですか? ピクチャボックスには画像は転送されているのですね? だとしたら、別の新規プロジェクトを興して、簡単なプログラムを作成してみてください。 それでSavePictureは通りますか?それとも落ちますか? わたしもWindows Updateを常に最新版になるように利用していますが、特に問題はございませんが。。。

HUKAHIRE
質問者

補足

いつもありがとうございます。 説明不足でしたね、スミマセン。 えっと、そのVBプログラムはDLLで動いています。 ASPから呼ばれてグラフのファイルをDLLが作って ASPでそのファイルを見せてるんですけど そこのグラフを表示するボタンを押されるとDLLが 動いてSavePictureのところで落ちているんですよ。 VBで動かしている時は、そんなことはなく正常に 動いています。

  • 2ch
  • ベストアンサー率51% (64/125)
回答No.1

以前、あなたの質問に見覚えがあったので、ちょっと気になりました。 そのときは、VB6 Excel2000って言う環境でしたっけ? >以前にVBフォームのピクチャーボックス と言うのであれば、そのURLと、現在の環境を書かないと、質問の意図がよーく見えません。 おそらく、環境を書いた方が的確なアドバイスを得られると思いますよー

HUKAHIRE
質問者

補足

 2chさん、ご指摘ありがとうございます。 まえ-に作ってそれをずっと使ってたらしいのですけど 突然、今回のように動作しなくなってしまったのです。 環境は  Windows2000  Visual Basic6.0 参照設定でExcel9.0 Object を使用して作ってます。 どうか宜しくお願いします。

関連するQ&A

  • ピクチャボックスに描画した画像の保存

    VB6.0にて、 http://www.uploda.org/uporg898462.jpg このようなものを作成しました。 折れ線グラフはプログラムにて後から描画したもの、 それ以外の目盛りなどは最初からピクチャボックスに描画してあるものです。 pic1,pic2は共にピクチャボックスです。 赤い線で囲まれたpic1を目盛り、グラフ、その他のテキストボックスや文字と共に画像として保存したいのですが、 SavePicture Pic1.Image, "C:\SaveTest2.bmp" とすると、pic1の大きさの、何も描画されていない真っ白な画像が保存されてしまいます。 また、SavePicture Pic2.Image, "C:\SaveTest2.bmp" (pic2の保存) とすると、折れ線グラフのみが描画され、目盛りは無くなった画像が保存されてしまいます。 2つのピクチャ共にAutoRedraw=Trueを設定しています。 pic1を上手く保存する方法は無いでしょうか? ご教授、お願いします。

  • ピクチャーボックス上に描いた円をうまく保存できません

    1.予めピクチャーボックスに画像を表示しておき 2.そのピクチャーボックス内に円を描き↓ Picture1.Circle (10, 10), 500 3.それら両方(1で予め表示しておいた画像と、2で描いた円)を保存しようと↓ SavePicture Picture1.Image, App.Path & "\Test.bmp" とすると、1で予め表示しておいた画像だけが保存され、2で描いた円が保存されません。 両方とも(1で予め表示しておいた画像の上に2で描いた円が表示されるように)保存したいのですが、どのようにすればよいでしょうか。 できれば具体的にサンプルコードなどをご教授いただけると大変ありがたく存じます。 恐れ入りますが、何卒よろしくお願いいたします(VB6.0)

  • SavePictureで保存できない

    VB6での開発で ピクチャボックス(大)の中にピクチャボックス(小)を何個か入れ 全てのピクチャイメージを保存したいのですが「SavePicture ピクチャボックス(大), ファイル名」 を実行してもピクチャボックス(大)のみしか保存できません。 すべてのピクチャにAutoRedraw=Trueを設定しています。 どなたか分かる方がいらっしゃいましたら教えてください。 宜しくお願いします。

  • Pictureコントロールの画像の書き出し

    VB6において、PictureClipコントロールから切り出した画像を、Pictureコントロールにクリップし、更にその上にLineコマンドで線を描画しました。 その画像をSavePictureコマンドで、ファイルへ書き出したのですが、クリップした画像のみ書き出され、描画した内容が保存されません。 PictureコントロールのAutoRedrawプロパティはTrueにしてあります。 他に何か設定等が必要でしょうか? よろしくお願いします。

  • VB6でのピクチャボックスの印字方法

    現在、VB6からのピクチャボックス印字に困っています。 ピクチャボックスに貼り付けている画像はメタファイル(.emf)ですが、これをPrinterオブジェクトで印字すると、画質が鮮明になりません。また、同じファイルをExcelに貼り付け印字するとすごく鮮明に印字されます。 ExcelのようにVB6できれいに印字させるのはどうしたら良いのでしょうか?

  • VB6.0で複数フォームのグラフ描写ができません

    VB6.0でForm1にある描画ボタンを押すと、Form2が表示され、Form2のピクチャーボックスにグラフが描かれるコードを作っているところです。 ところが、Form2にはグラフが描かれません。 以下の簡単なコード(ピクチャーボックス2の背景を白色にする)も実行されません。 Form1にピクチャーボックスを作り、描画ボタンを押すとそこにグラフが表示されるようにしたところ、グラフが描かれました。 フォームは2つ表示させると問題があるのでしょうか? なにか考えられる原因を教えていただけないでしょうか。 Form1に記述しているコード Dim GraphForm As New Form2 GraphForm.Show Form2.Picture2.BackColor = vbWhite

  • 【VB6.0】ピクチャーボックスに関数のグラフを描かせる

    Visual Basic 6.0でボタンを押すとピクチャーボックス内に関数のグラフを描かせるプログラムを描きたいです。ボタンを押してフォーム上にグラフを表示させることはすでにできています。ではそれをどのようにしてピクチャーボックス内に表示させるのでしょうか。 おねがいします。おしえてください

  • 画像の一部を保存したい

    Picture1にある画像の一部(X1,Y1)-(X2,Y2)の範囲をファイルに保存したいのですがどうすればよいでしょうか。 Picture2.PaintPicture Picture1, 0, 0, , , X1, Y1, X2 - X1, Y2 - Y1 で画像の一部を一旦表示させてみたものの、 SavePicture Picture2.image, "save.bmp" では保存できません。 よい方法を教えてください。

  • Imageコントロールにグラフを表示させるには

    Excel VBAでフォームにイメージコントロールを配置して、そこにエクセルで作成したグラフ(グラフシート)を表示するようなプログラムは作成可能でしょうか? 例えば、 まずワークシートのデータを元にグラフ(グラフシート)を作成し、作成したグラフをフォーム上のイメージコントロールに表示させる一連の作業をVBAでプログラミングできるかどうかということです。 Userform1.MultiPage1.Image1.Picture = .........といった感じです。 もしくは、作成したグラフをgif形式の画像として特定のディレクトリなりフォルダに保存して、その画像ファイルを読み込むことで対応はできるでしょうか? よろしくお願いします。

  • VB6.0で、グラフを複数表示させたいのですが。

    VB6.0で、Form1にある描画ボタンを押すたびに、 Form2のグラフを画面上に追加表示したいのですが、 同じフォームを複数表示させる方法がわかりません。 ご存知の方教えてください。 よろしくお願いします。 Form2は添付ファイルのような感じです。 ピクチャーボックスにグラフを描画します。