FC2ブログ

スポンサーサイト

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

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小説
最後の時の夢

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

ボロボロのガタガタ

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

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

ひろかずのブログ

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

この人とブロともになる

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