• ベストアンサー

DirectX利用プログラムにおける画像印刷

DirectXをVC.net2003にて利用してプログラミングしています.描画されている画面をBmpに保存し,そのファイルを印刷しようと考えています. (なおプログラム動作中に印刷を行う必要があるのと,それほどWindowsに習熟していない人がそのプログラムを使用する予定であるため,キャプチャソフト等を利用せずに,自動的に印刷する必要があって困っています.)  何か参考になる情報がありましたら,よろしくお願いします.

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

  • ベストアンサー
  • aho0xff
  • ベストアンサー率12% (218/1772)
回答No.1

まずDirectX自体に印刷APIなど存在しないハズです。仮にあったとしても完全に別物です。 ただし、サーフェス(テクスチャ)をbmp(dib)にする方法と bmp(dib)を印刷する方法は個別に存在するはずですので 別々に検索しうまく組み合わせてください。 後は印刷するためのインターフェースでしょうが、Direct3D(Draw)とダイアログって 基本的に相性悪いと個人的には思っています。特にフルスクリーン状態だと1工夫必要なはずです。 まあ印刷プロパティをダイアログ使わずにグラフィカルな物にしたいなら話は別でしょうが・・・ もしかしたら・・・と思ったので一応書きます。「それくらいわかってる」とかだったら 申し訳ありません。

hiyahiya12345
質問者

お礼

ありがとうございました.bmpとして保存する方はなんとかなったですが,印刷に関する情報が見つからず困ってました.自作プログラムにて保存だけしておいて,別のアプリで画像を印刷の方法が現実的な解なんですかね.

関連するQ&A

  • 画像印刷に適したファイル形式

    ワードで編集した画面をキャプチャーしたものを画像ファイルとして保存しています。 これは印刷を目的にしています。 キャプチャーソフトではJPEG BMP PNG の形式で保存できます。 よりきれいでより大きなサイズに印刷するには、どの形式で保存したらよいか教えてください。 

  • DirectXについて 2

    DirectXでプログラムをあと3週間ほどで作ることになってしまいました。 ですがDirectXのプログラミングはまだ全然わかりません。 実際に組むプログラムの概要はこんな感じです。 ・サーバーと複数のクライアントによるネットワーク対戦 形式である。 ・BGM等の音楽は特に無し。 ・たとえるならボンバーマンのような俯瞰視点でキャラを 操作する。 ・クライアント(1P)からは別のクライアント(2P)のキ ャラはみえない。 というようなものです。 どなたか経験者のかた、DirectXを勉強しなければいけないので、これはいい!というような参考書やサイト等ありましたら、ぜひ教えてください。 よろしくお願いします。 助けて!

  • DirectX用のライブラリを探しています

    DirectX用のライブラリを探しています プログラム関係の学校に行っているのですが、学校の作品制作でオリジナルのPCゲームを作ることになりました。ジャンルは弾幕のシューティングで、言語は調べたところゲーム制作はDirectXとC/C++が良いとのことでしたので「DirectXとC/C++」を使う予定です。 ですがDirectXを使うには少々問題がありまして、DirectXというものを一切触ったことがありませんので現在の知識では当然画像の描画すらできないんです。 さすがにそれではマズイのでDirectX用のライブラリを使おうかと思っています。そこで、DirectX用のライブラリでお勧めのものがあれば教えていただけたらなと思いまして、書き込みをさせていただきました。(実際に色々と試したいところなんですがそれほど時間も無いもので……) もし「こんなものがいいよ」というものをご存知であれば是非とも参考にさせていただきたいのでアドバイスをいただけると幸いです。よろしくお願い致します。 補足になりますが・・・ 作品制作ではライブラリに規制があり、ツクール系やHSPみたいな簡単に作れるものはNGという制限があります。 描画には2Dと3Dの両方を使います。 DirectXのバージョンはできればDirectX9…DirectX8くらいであると有難いです。 なにぶん勉強中のもので不足がございましたらその都度ご返信させていただきます。よろしくお願いします。

  • DirectX9.0での四角形の描画について

    現在、WindowsXP, VS2005, DirectX9.0, C/C++の環境で 4角形を表示するプログラムを作ろうとしています。 しかし、3Dモデルの表示などは資料も多くあり、比較的 容易に学ぶことが出来たものの、4角形や3角形、円など 基本図形の描画については手持ちの書籍にはほとんど 書かれておらず、私が探せたサイトではVBやDirectX8.0 などの情報ばかりヒットしてしまい、少し困ってしまっています。 確かDirectX8.0と9.0では手順が違うと聞いたことがあったので、 もしよろしければ参考になりそうなサイトや書籍やソースコードを ご教授頂けると幸いです。

  • DirectX 9.0対応は必要か?

    NECのキャプチャーSmartVision HG2/Rの動作環境を見ると、グラフィックにDirectX 9.0以上とあります。 これはDirectX 9.0に対応のVGAが必要ってことですか? 私のPCはオンボードVGAなので、もしSmartVision HG2/Rを増設したらVGAを買わないといけないですか? DirectX 9.0に対応していないと何がどうなるっていうのでしょうか。3Dゲームとかしないんですが。

  • DIRECTXで質問です。

    お世話になります。 VC++6.0とDIRECTX9.0cを使ってゲームを作ろうとしています。 参考にと思い、MSDNサイトののDirectX によるゲームプログラミング入門の第1章3D ゲームプログラムの基礎をやることにしました。 そのサイトのサンプルプログラムをダウンロードし、VC++6.0でビルドをした後、デバッグを開始すると実行中に 「ハンドルされていない例外は○○.EXEにあります・・・」とエラーが発生しました。 しかし、ビルド後実行ファイルを単体で動かしてもエラーがでません。 調べてみると、LPD3DXBUFFERオブジェクトをリリースする時にエラーが発生しています。 LPD3DXBUFFER lpD3DBuf; HRESULT hres; hres = D3DXLoadMeshFromX( fn,D3DXMESH_SYSTEMMEM, lpD3DDevice,NULL, &lpD3DBuf, NULL, &m_nMaterials, &m_lpMesh); lpD3DBuf->Release(); ↑ これを実行したらエラー発生 何故このようなことが起こるのか、どうすればエラーが出ないのかわかりません。 皆さんのお知恵をお貸しください。 宜しくお願いします。

  • DirectX:描画されません・・・ヒント下さい・・・

    VCでC++を使ってDirectXを使ったプログラムを書いてます。 そういう仕事しているわけではなく、素人です。 DirectXは色々とややこしくて、何がなんだかさっぱりです。 とりあえず、Win32APIを使って、ウィンドウを表示し、DirectXを使って、ボタンを押すことで、ウィンドウモードとフルスクリーンモードを切り替えることの出来るプログラムは作れました。 しかし、3Dのモデルが表示されません。 何が駄目なのかが、さっぱりです。 こういう場合、何に原因があることが多いのでしょうか?? DirectX経験者の方、どうか、教えてください。お願いします。 以下に現在の状況を列挙します。 足りなければ、ご指摘ください。 ソースは見せることはできるのですが、かなり、スパゲティーなので・・・・。 DirectX:November 2008 目標:Xファイルからじゃなく座標を自分で指定して立方体を描画したい 出来ていると思われること ・Win32APIを使ったウィンドウの作成 ・Direct3Dオブジェクトの作成Direct3DCreate9⇒  D3DDeviceオブジェクトのプレゼンテーションパラメータの設定 ・カメラとライトの設定 ・あと、DirectXのメソッドで背景色だけは変えられます。 経験者の方がた、よろしくお願いします!!

  • VC++でperlプログラムを動かすには

    VC++でOpenGLを動かしているんですが, その途中でperlのプログラムを動かしたい場合,どうしたらよいのでしょうか? 詳しい動きとしては, 1.perlのプログラムを動かして,txtデータを出力する 2. その出力したtxtをOpenGLの中で読み込んで,描画を表示 3.再びperlのプログラムを動かして,新しいtxtデータを出力する 4. その出力したtxtをOpenGLの中で読み込んで,描画を表示 この繰り返しです. この一連の動作をVC++でいっぺんに行いたいのですが, 可能でしょうか? 何かもっと詳細が知りたい場合は,なんでも聞いてください! よろしくお願いします.

  • DirectXについて

     僕は某オンラインゲームをインストールしました。 そして、動作環境を見てみるとどうやらDirectX9.0cが必要なようでこれと、DirectX エンド ユーザー ランタイム Web インストーラを外付けHDDにインストールしました。 そして、ゲームを起動しようとすると、なんか「コンピューターに d3dx10_43.dll がないため、プログラムを開始できません。」というエラーが出て来ます。   どうやらd3dx10_43.dllはDirectXの事らしいのですが、なぜちゃんとDirectX9.0cを入れてるのにこのようなエラーが出るのでしょうか?  DirectX9.0cやユーザーランタイムを外付けHDDにインストールしたからでしょうか?  あっ、そういえば元々PCにはDirectX11が入ってるのですが、それが原因ですかね? まあとにかくDirectX9.0cをしっかり入れてるのになぜコンピューターにないというエラーが出るのかを知りたいです。 よろしくお願い致します。

  • OpenGLでBMP画像を出力するには?

    現在アニメーションの作成にOpenGLを使っています. この動画をきれいに保存したいのでBMP出力を考えています. 画面のキャプチャではなくBMPをプログラムにより 出力する方法を教えてください. よろしくお願いします.