FC2ブログ

スポンサーサイト

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

「SharpDX」フォントを読み込んで描画

using System;
using DX = SharpDX;
using DX2D = SharpDX.Direct2D1;
using DXWrite = SharpDX.DirectWrite;
using System.Windows;
using System.Windows.Interop;

namespace Project1
{
internal static class Program
{
[STAThread]
private static void Main()
{
Window window = new Window();

window.MouseDown += (sender, e) =>
{
var hwnd = new WindowInteropHelper(window).Handle;

var dx2dFactory = new DX2D.Factory();
var dx2dRender = new DX2D.WindowRenderTarget(dx2dFactory, new DX2D.RenderTargetProperties(), new DX2D.HwndRenderTargetProperties { Hwnd = hwnd, PixelSize = new DX.Size2(300, 300) });


//文字描画のための用意
var dxWriteFactory = new DXWrite.Factory();
//フォントを読み込む
//今回はtest.ttfを読込
var fontFile = new DXWrite.FontFile(dxWriteFactory, "test.ttf");
var fontFace = new DXWrite.FontFace(dxWriteFactory, DXWrite.FontFaceType.Truetype, new DXWrite.FontFile[] { fontFile }, 0, DXWrite.FontSimulations.None);



//表示させる文字列
var text = "表示テスト";
//文字列を数値化
var ary = new int[text.Length];
for (var i = 0; i < ary.Length; i++) ary[i] = (int)text[i];
var inde = fontFace.GetGlyphIndices(ary);



//文字列描画用オブジェクトの作成
var glyph = new DXWrite.GlyphRun();
//使用するフォント
glyph.FontFace = fontFace;
//文字サイズ
glyph.FontSize = 30;
//表示する文字列
glyph.Indices = inde;


dx2dRender.BeginDraw();
dx2dRender.Clear(DX.Color.Wheat);


//文字列の描画
dx2dRender.DrawGlyphRun(new DX.Vector2(100, 100), glyph, new DX2D.SolidColorBrush(dx2dRender, DX.Color.Black), DX2D.MeasuringMode.GdiClassic);


dx2dRender.EndDraw();
};

window.SizeToContent = SizeToContent.WidthAndHeight;
window.Content = new FrameworkElement { Width = 300, Height = 300 };
window.ShowDialog();
}
}
}
スポンサーサイト
プロフィール

みにおん

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

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

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

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

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

・web小説
最後の時の夢

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

ボロボロのガタガタ

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

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

ひろかずのブログ

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

この人とブロともになる

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