• 締切済み

directXで画像表示

512×512の画像を一点ずつImage[x][y]の配列に格納したものを表示させたいんですけれど、Imaga[x][y]からdirectXへ値を渡し、描画するっていうところがわかりません。ここができれば表示はできると思うんですけれどどうでしょうか。よろしくお願いします。

みんなの回答

  • hana-hana3
  • ベストアンサー率31% (4940/15541)
回答No.1

Microsoft DirectX 9.0 日本語ドキュメント

参考URL:
http://www.microsoft.com/japan/msdn/directx/downloads.asp
sky5555
質問者

補足

これのどこを見たらいいんですか?

関連するQ&A

  • directX9.0を用いて三次元配列を表示する

    Image[512][512][512]で格納した配列を、directXで表示したいんですが、どのようにすればいいでしょうか?方法などいろいろ教えてください

  • DirectXの表示領域

    動画再生ソフトの再生領域がPrintScreenできないのはDirectXで表示されているからでしょうか? DirectXをよく知らないのですが、DirectXとは全画面単位でオンオフを切り替えるだけでなく、指定領域の部分のみをDirectXで描画することが可能なんですか?

  • vector配列の重複を無くすには?

    画像処理で各ピクセルごとのRGB値をそれぞれ取得し、 重複を除いた形で全て表示したいと考えています。 (仮に4ピクセルしかないとして、RGB(255,255,0), RGB(255,255,255),RGB(255,255,255),RGB(255,0,255) といった値が取れたときにRGB(255,255,0), RGB(255,255,255),RGB(255,0,255)のみを表示するといった感じです。) 画像ごとにピクセル数が異なり分からないので、 各ピクセルのRGB値を格納するのに動的配列vector<int*> pixelを 用い、そこにred,green,blueそれぞれの値を格納した 配列RGB[3]を格納しようと思い以下のように書いたのですが、 vector配列に配列を格納したときに重複を削除する方法が 分からず困っています。 for(int x = 0; x->width; x++) { for(int y = 0; y->height; y++) { /*getRGBはそのピクセルのRGB値を取得する仮想関数*/ RGB[0] = (int)getRGB(x,y,RED); RGB[1] = (int)getRGB(x,y,GREEN); RGB[2] = (int)getRGB(x,y,BLUE); } } pixel.push_back(RGB); と格納しても、そこからpixel配列に格納された物の中から RGBが全て一致するものを消去する方法が分かりません。 格納していたものが配列でなければ、pixelをsortして、 unique関数で重複を無くせるのでしょうが… どなたか良い方法をご教授願えませんでしょうか?

  • DirectXのポリゴンモデルの表示について。

    DirectXの勉強を始めたばかりの者です。 3Dポリゴンモデルの表示をさせたいと思いWeb上の解説記事を読んでいるのですが 何枚かの板ポリゴンで構成される「ポリゴンモデル」のデータを「プログラム内で記述」して描画させるにはどうしたら良いのか、ということが分かりません。 解説記事を読んでいて、まず、DrawPrimitive()等で一枚ずつポリゴンを描画させることを知りました。 それから「メッシュモデル」という単位で、3Dモデリングソフトで作成した「xファイル」からロードして描画できることを知りました。 (http://princess-tiara.biz/directx/?chapter=12)  ただし「メッシュモデル」のような単位のポリゴン群データを「xファイル」からロードするのでは無く、プログラム内での配列データのセットのような感じで記述したいと思っています。  こういう場合、頂点の繋がりや法線などのデータを全く自前の構造体で定義して、各ポリゴンをforループで一枚ずつDrawPrimitiveなどで描画するというのも、それも1つの手だとは思うのですが、それは何となく本筋という訳でも無いのではと思えます。  また、別のモデリングソフトで「xファイル」を作って、というのも例えば幾何学的な多面体モデルを作りたいと思う場合にはあまり適していないように思います。(その場合、頂点の座標値は是非コンピュータ自身に計算させてセットしたいものです。)  メッシュモデルのようなデータをプログラム上に記述したい場合、プログラム自身に座標値をセットさせたい場合、どうしたら良いのでしょうか?  何か特定の記述のフォーマットなどがあるのでしょうか。またそれを描画する方法はあるでしょうか。解説されているページなどありましたらリンクのみでも助かります。  

  • DirectX8でテキストを表示したいんです。

    はじめて質問します。 DirectX8で、立方体くらいは描画できるようになりましたが、 テキストの表示方法がわかりません。誰か簡単なテキストの表 示方法を教えてください。

  • DirectXで画像表示

    DirextXでゲームを作ってるんですがわからないことがあるんで教えてください。 背景として640×640(ピクセル)の画像を表示したくて(ウィンドウはサイズ640,640で作成) RECT from; D3DXVECTOR3 to; D3DCOLOR color; from = makeRect(0,0,640,640); to = D3DXVECTOR3(0,0,0); color = D3DCOLOR_ARGB(255,255,255,255); if(g_pTexture != NULL) g_pSprite->Draw(g_pTexture, &from, NULL, &to, color); RECT makeRect(int x, int y, int w, int h) { RECT box; box.left = x; box.top = y; box.right = w; box.bottom = h; return (box); } //g_pTexture = D3DXCreateTextureFromFileEx関数で作成したテクスチャオブジェクト。 //g_pSprite = スプライトオブジェクト。 大体こんな感じの流れで背景画像を表示したらウィンドウ全体に画像の一部分だけが拡大されて表示されました。なぜ画像全体がうまく表示されないんでしょうか? 例えば64×64のキャラクタ画像を from = makeRect(0,0,64,64); to = D3DXVECTOR3(0,0,0); で表示したら画面左上にうまく表示されました。 初心者なんであまりうまく説明できないんでかなりわかりにくいかもしれませんが、わかる方よろしくお願いします。

  • 画像の一部を出力

    2次元配列image[][]に入っている画像の、ある点(X、Y)を始点として、縦10、横20の部分のみをファイルに出力したいのですが、 for(i=X;i<X+10;i++){ for(j=Y;j<Y+20;j++){ fwrite(&image[i][j], sizeof(unsigned char), 1, fpo); } } としたところ、なにやら変な画像が出力されていました。 何か考えられる原因がありますでしょうか?

  • DirectXでのgif画像の表示

    VB(6)からDirectX7で画像を表示させるプログラムを作成しているのですが,BMP画像ではなくGIF画像の表示のさせ方が分かりません.(書籍のサンプルなどではBMP画像のみでした)サンプル等ご存知の方教えていただけないでしょうか?

  • DirectXで曲面の描画

    DirectX9で曲面の描画を考えています。 x=0.0~10.0、y=0.0~10.0、z=exp(-x^2-y^2)といった座標を与えて、 波を打つような曲面を作成したいのですが (QNo.2528542のような滑らかな曲面でなくてもよいです) 自分でメッシュを作成することで実現可能なのでしょうか? メッシュを作成するには頂点(バッファ)を指定するの思うのですが、 その頂点は射影行列を施した後の(x座標、y座標、Z値)になり、 上のような3次元空間上の座標から直接メッシュが作り出せないものかと考えています。 ティーポットのようなメッシュをXファイルを使わずに作り出すにはどうしたらよろしいでしょうか? (↑曲面の描画 イコール メッシュの作成と考えての質問です、そもそもこの思考が間違っていますか?) だらだらと書き綴りましたがよろしくお願いします。

  • 今DirectXでゲームを作っているのですが、どうしても実装できないこ

    今DirectXでゲームを作っているのですが、どうしても実装できないことがあります。 マウスカーソルの近くにある物体をスピードを落としながら話していくという仕様なのですが、ベクトルを使っての実装ができません。どうかわかる方がいましたら回答お願いします。 pV1.x;//マウスカーソルのx座標 pV1.y;//マウスカーソルのy座標 pV2.x;//物体のx座標 pV2.y;//物体のy座標 pOut1.x;//物体のx座標からマウスカーソルのx座標を引いた値 pOut1.y;//物体のy座標からマウスカーソルのy座標を引いた値 D3DXVec2Subtract(&pOut1,&pV2,&pV1);//pV2ベクトルからpV1ベクトルを引いてpOut1に格納する float VecLength=D3DXVec2Length(&pOut1);//pOut1ベクトルの大きさをVecLengthに格納する vecPosition.x=/*ここがわかりません*/ vecPosition.y=/*ここがわかりません*/

専門家に質問してみよう