![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?5a7ff87)
GDI+のDrawStringを使って文字を滑らかに描画したいのですが。。。
環境は、VC++のWin32プロジェクトです。
WindowのデバイスコンテキストからGraphicsオブジェクトを生成し、DrawStringとすると滑らかに描画されます。
しかし、BitmapオブジェクトからGraphicsオブジェクトを生成し、DrawStringを行うとビットマップフォントのようです。
Graphics g(hdc);
g.DrawString(......); -> この場合はなめらか(画像の下の方)
しかし、
Bitmap bmp(w, h, PixelFormat32bppARGB);
Graphics g (&bmp);
g.SetSmootingMode(SmoothingModeHighQuality);
g.DrawString(...); -> ジャギが目立つ。(画像の上の方)
ビットマップ(メモリ)にスムーズなテキストを描画することはできないのでしょうか?
ちなみにフォントはメイリオです。
![「GDI+のDrawStringを使って文」の質問画像](http://oshiete.xgoo.jp/_/bucket/oshietegoo/images/media/3/822471_5497cbd0641b0/M.jpg)
A 回答 (1件)
- 最新から表示
- 回答順に表示
No.1
- 回答日時:
ご質問のような現象を確認できる最低限のコードをお示しいただけませんか?
DrawStringの引数Fontに与えたものが TrueTypeフォントでは無いってことは無いでしょうね …
この回答への補足
ちなみにフォントはメイリオです。
Trueタイプだと思います。
コードはこうです。
char_t buffer[256];
Bitmap bitmap(200, 30, PixelFormat32bppARGB);
Graphics xx(&xxbmp);
xx.SetSmoothingMode(SmoothingMode::SmoothingModeHighQuality);
wsprintfW(buffer, L"Total Time: %d.%03d", (t2-t1)/1000, (t2-t1)%1000);
xx.DrawString(buffer, wcslen(buffer), &Font(L"メイリオ",12.0), RectF(0, 0, 200, 30), NULL, &SolidBrush(Color(Color::Black)));
Graphics g(hdc);
g.DrawImage(&xxbmp, 0, 0);
こんな感じです。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- デスクトップパソコン intel hdグラフィックス3000 4 2022/10/03 14:14
- その他(メールソフト・メールサービス) メールソフトを教えてください 1 2023/03/28 23:32
- その他(SNS・コミュニケーションサービス) Zoomで背景をぼかしたり変更できるスペック 2 2023/05/02 12:00
- ノートパソコン このノートパソコンで大丈夫でしょうか? 2 2023/04/22 21:01
- Excel(エクセル) テキストの背後にあるオブジェクトとは 3 2023/01/03 20:22
- 美術・アート ペンタブとオフィス系ソフト 1 2022/10/08 19:27
- デザイン タブレットパソコンについて。 3 2022/10/22 15:19
- Visual Basic(VBA) VBA リボンののリカバリーでオーバーフローエラーになります 2 2023/07/04 19:07
- YouTube WindowsのYouTube 15 2023/05/19 16:16
- Illustrator(イラストレーター) Illustratorでオブジェクトの色が勝手に変わって困っています。 4 2022/09/04 18:47
関連するカテゴリからQ&Aを探す
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Labelの文字をスクロールする際...
-
Windowのちらつき防止
-
PCで「使用可能な場合はグラフ...
-
ティアリングについて
-
GDI+で高速な描画
-
最前面に無理やりフォームを持...
-
VB.NETでPictureBoxへの描画に...
-
絵を描くにはMac?Windows
-
C# ラバーバンドの描画を快適に...
-
テキストボックス 自動スクロ...
-
コントロールの上に描画
-
ブレゼンハムのアルゴリズムに...
-
NVIDIAのシェーダーキャッシュ
-
スピードの速い描画
-
グラフの交点の求め方(Excel)
-
ゲームでは結局どっちが良いの?
-
マインクラフト(pc版)で座標...
-
コントロール内の文字の背景色
-
エクセルで作った新しいウイン...
-
UWSCで特定のChromeのタブをア...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
MFCでOnPaintのタイミング
-
[VB.net] DataGridViewの列ヘッ...
-
word
-
NVIDIAのシェーダーキャッシュ
-
TextBoxに文字を書いても表示さ...
-
VB6,リストボックスの特定行の...
-
UpdateData( FALSE); による文...
-
PCで「使用可能な場合はグラフ...
-
VC++プログラムをつかったBMP画...
-
VBAにGDI+を参照させる方法
-
FlexGridの一部のみ表示を更新...
-
pset関数について
-
エクセルでガンチャートを作成...
-
C言語(dxlib)のDrawboxについ...
-
Form1 Load で実行されない。
-
MFCのタイマーのつかい方を教え...
-
InvalidateRectの使い方について
-
CStaticコントロールの静的イメ...
-
Windowのちらつき防止
-
VB.netでのライン描画方法がわ...
おすすめ情報