![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?5a7ff87)
はじめまして。
現在GetGlyphOutline(API関数)を使い、
文字のビットマップを取得しようとしています。
GGO_BITMAPを指定した、普通のビットマップの取得には成功したのですが、
GGO_GRAY8_BITMAPをしていすると、何も表示されなくなってしまいます。
dwRet = ::GetGlyphOutline(hDC,'A',GGO_GRAY8_BITMAP,&gm,0,NULL,&m2);
どこかGGO_BITMAPの時とは違う設定にしなければいけないのでしょうか?
ご回答よろしくお願いいたします。
No.1ベストアンサー
- 回答日時:
GGO_GRAY8_BITMAP以外のパラメータは特に変更する必要はありません。
ビットマップの表示処理をどのように行われているのかわかりませんが、
そちらを見直されてはいかがでしょうか。
早速のご回答ありがとうございました。
ビットマップの表示はBitBltを使用しているのですが、
BITMAP構造体のbm.bmWidthBytesに値を代入するところが一番
怪しいところだと思っています。
GetGlyphOutline 以下このように書いております。
hBitmap = BitmapFromBits(lpBuf,(WORD)gm.gmBlackBoxX,(WORD)gm.gmBlackBoxY);
hOldBmp = (HBITMAP)::SelectObject(hMemDC,hBitmap);
::BitBlt(hDC,10,10,gm.gmBlackBoxX,gm.gmBlackBoxY,hMemDC,0,0,SRCCOPY);
BitmapFromBitsのところでBITMAP構造体に値を代入しているのですが、
bm.bmType= 0;
bm.bmWidth= gm.gmBlackBoxX;
bm.bmHeight= gm.gmBlackBoxY;
bm.bmWidthBytes= ((gm.gmBlackBoxX + 31) >> 5) << 2;
bm.bmPlanes= 1;
bm.bmBitsPixel= 8;
bm.bmBits= lpBits;
これだと何も表示されません。
たびたび済みませんが、助言の方よろしくお願いいたします。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- C言語・C++・C# C言語の質問です。バイナリ形式で保存されたWindows Bitmap形式の画像ファイルを読み込み、 3 2023/07/19 14:58
- その他(開発・運用・管理) おんどとりWebStorage APIから温度情報を取得し表示したい 2 2023/08/03 09:53
- その他(コンピューター・テクノロジー) 【Tableau Desktop】文字列から8桁の数字を日付型(yyyyMMdd)として取得 1 2023/07/31 10:17
- Excel(エクセル) エクセルで”入力シート”の文字書式の変更を”出力シート”で同じ文字書式で印刷したいです。VBA希望 4 2023/04/24 11:07
- Visual Basic(VBA) 動かなくなってしまった古いVBAを動くようにしたい 8 2022/09/20 13:57
- その他(メールソフト・メールサービス) メールソフトを教えてください 1 2023/03/28 23:32
- PHP PHPを使って、別サイトの一部を取得して表示したいのです。。 1 2023/01/18 21:45
- Excel(エクセル) エクセルの条件付き書式 4 2023/04/17 11:05
- PHP phpのメールフォームの完了画面でメール受信のコードを書いています。 1 2023/05/31 11:39
- その他(データベース) Accessフォームにて指定のフィールドの平均値を小数点第一位で表示できない 2 2022/08/30 17:19
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
データ数をカウントしたいのですが
-
VB.NETで DataRow()を利用して...
-
count(*)で取得した値をJAVAの...
-
VBAでActiveDirectoryのユーザ...
-
ListViewで複数選択された項目...
-
VBA:小数点以下の数字を取得で...
-
ListView 項目の選択/選択解除...
-
指定のURLのタイトルを取得...
-
Excel VBA でログインしてい...
-
JSP+Servletでのページングの常識
-
ディスプレイの表示可能な解像...
-
VBA Shapesの座標からセル位置...
-
ActiveWorkbook.Path取得できない
-
like演算子内に変数って使えな...
-
JFreeChartの折れ線グラフの太...
-
Yahoo! JAPANのID取得について
-
Active directoryの全グループ取得
-
Accessで期間抽出方法
-
コンボボックス表示文字列を取...
-
時間を分に変換するプログラム
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
VB.NETで DataRow()を利用して...
-
count(*)で取得した値をJAVAの...
-
データ数をカウントしたいのですが
-
VBA:小数点以下の数字を取得で...
-
VBAでActiveDirectoryのユーザ...
-
ListView 項目の選択/選択解除...
-
Flexgridで選択行の列の値を取...
-
getParameter と getAttribut...
-
like演算子内に変数って使えな...
-
ListViewで複数選択された項目...
-
JavaScriptでWindowsログオンID...
-
時間を分に変換するプログラム
-
エクセルVBAで複数選択できるよ...
-
Spreadの選択行の取得について
-
JavaScriptにおいてコンピュー...
-
コンボボックス表示文字列を取...
-
VBA リストボックス内の値を複...
-
利用者側のMACアドレスを取得し...
-
「Excel VBA」 Webクエリ マク...
-
Yahoo! JAPANのID取得について
おすすめ情報