FC2ブログ

スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

DirectX9で描画したものをWPFに表示

using System;

using DX = SharpDX;
using DX3D9 = SharpDX.Direct3D9;
using System.Windows.Interop;
using System.Windows.Media;
using System.Windows;
using System.Windows.Media.Imaging;
using System.Windows.Controls;

namespace Project1
{
static class Program
{
[STAThread]
static void Main()
{
//画像ファイル
const string imageFile = "test1.png";

//WPFの設定
var window = new Window();
var content = new Image();
var image = new D3DImage(); //DirectX9で描画したものを表示するのに必要

//Direct3D9の設定
var direct = new DX3D9.Direct3D();
var pp = new DX3D9. PresentParameters(300, 300);
var device = new DX3D9.Device(direct, 0, DX3D9.DeviceType.Hardware, IntPtr.Zero, DX3D9.CreateFlags.HardwareVertexProcessing, pp);
var sprite = new DX3D9.Sprite(device);

var texture = DX3D9.Texture.FromFile(device, imageFile);

window.MouseDown += (sender, e) =>
{
//DirectX9で描画
device.BeginScene();
sprite.Begin(DX3D9.SpriteFlags.AlphaBlend);
device.Clear(DX3D9.ClearFlags.Target, DX.Color.Black, 0, 0);

sprite.Draw(texture, DX.Color.White);

sprite.End();
device.EndScene();
device.Present();
//DIrectX9での描画はここまで

//DirectX9で描画したものをWPFで表示
image.Lock();
image.SetBackBuffer(D3DResourceType.IDirect3DSurface9, device.GetBackBuffer(0, 0).NativePointer);
image.AddDirtyRect(new Int32Rect(0, 0, 300, 300));
image.Unlock();

};

content.Source = image;
window.Content = content;
window.ShowDialog();
}
}
}
スポンサーサイト
プロフィール

みにおん

Author:みにおん
c#でゲームを作る人です
web小説なども書いています

低学歴で馬鹿なのパート従業員
ですが、よろしく

相互リンク・ブロとも募集中です
コメントなどご自由にどうぞ

ホームページを見る
Twitter(個人ページ)
PIXIV(個人ページ)

○自作ゲーム一覧
ふりーむ
フリーゲーム夢幻
100%ふりげストア

・web小説
最後の時の夢

最新記事
最新コメント
月別アーカイブ
カテゴリ
ブロとも一覧

ボロボロのガタガタ

ゲームアプリ、ラインスタンプ開発日記(MMA Bros)

ミリオネアインテリジェンス!!!!! 資格編

ひろかずのブログ

srpの路地裏
検索フォーム
ブロとも申請フォーム

この人とブロともになる

RSSリンクの表示
リンク
アクセスランキング
QRコード
QR
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。