Direct2D ビットマップの描画

using System;
using WinForm = System.Windows.Forms;
using DX = SharpDX;
using DX2D = SharpDX.Direct2D1;

namespace Project1
{
internal static class Program
{
private static void Main()
{
const int width = 500;
const int height = 500;

WinForm.Form form = new WinForm.Form();
form.ClientSize = new System.Drawing.Size(width, height);

//Direct2Dの設定
DX2D.HwndRenderTargetProperties hrtp = new DX2D.HwndRenderTargetProperties();
hrtp.Hwnd = form.Handle; //描画先のウィンドウハンドルを指定
hrtp.PixelSize = new DX.Size2(width, height);

//Direct2Dを使用して描画するためのインスタンスを生成
DX2D.Factory dx2dFactory = new DX2D.Factory();
DX2D.WindowRenderTarget wrt = new DX2D.WindowRenderTarget(dx2dFactory, new DX2D.RenderTargetProperties(), hrtp);

//Direct2D用のビットマップ
DX2D.BitmapRenderTarget brt = new DX2D.BitmapRenderTarget(wrt, DX2D.CompatibleRenderTargetOptions.None, new DX.Size2F(width, height), null, null);


form.Click += (sender, e) =>
{
//ビットマップの描画の開始
brt.BeginDraw();

//ビットマップを塗りつぶし
brt.Clear(DX.Color.Gray);
//ビットマップに矩形を描画
brt.FillRectangle(new DX.RectangleF(0,0,100,50), new DX2D.SolidColorBrush(brt, DX.Color.Wheat));
//ビットマップに円を描画
brt.FillEllipse(new DX2D.Ellipse(new DX.Vector2(140, 140), 30, 30), new DX2D.SolidColorBrush(brt, DX.Color.Gold));

//ビットマップの描画の終了
brt.EndDraw();

//ウィンドウの描画の準備
wrt.BeginDraw();

//画像をウィンドウに描画
wrt.DrawBitmap(brt.Bitmap, 1, DX2D.BitmapInterpolationMode.NearestNeighbor);

//ウィンドウの描画の終了
wrt.EndDraw();

};

form.ShowDialog();
}
}
}
スポンサーサイト
プロフィール

みにおん

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

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

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

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

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

・web小説
最後の時の夢

よろしければ、1日1クリックお願いします
にほんブログ村 ゲームブログ 無料ゲームへ
にほんブログ村

にほんブログ村 小説ブログ ライトノベル(小説)へ
にほんブログ村

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

誰よりも楽しく普通のこと

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

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

ひろかずのブログ

srpの路地裏

t.oのゆっくりブログ
検索フォーム
ブロとも申請フォーム

この人とブロともになる

RSSリンクの表示
リンク
アクセスランキング
QRコード
QR