0

現在、画像を C++ プログラムに構造体としてハードコーディングしています (ピクセル データを含むソース コードは GIMP で作成できます)。

static const struct {
  unsigned int   width;
  unsigned int   height;
  unsigned int   bytes_per_pixel;
  unsigned char  pixel_data[16 * 16 * 4 + 1];
} my_icon = {
  16, 16, 4,
  "...", pixel data here
};

これはうまく機能しており、とても満足しています!しかし今、私が使用しているフォントファイルに対して同じことをしたいと思っています。

GIMPは私のために変換を行いましたが、明らかに私のためにフォントを変換することはできません.

関連性がある場合、これは私が現在フォントファイルをロードする方法です:

sf::Font font;
if (!font.loadFromFile("font.ttf")) {
    std::cout << "Could not load font" << std::endl;
    return -1;
}

誰か助けてくれませんか?(フォントのサイズは 25 KB 未満なので問題ありません)

ありがとう!!

4

2 に答える 2

1

わかりました、これが私の解決策です:

ツール Bin2h ( http://www.deadnode.org/sw/bin2h/ ) を使用して、次のコードを作成しました。

unsigned int fontSize = 22256;
unsigned char fontChar[] = {
0x00,0x01,0x00,...
};

それから私は使用します

font.loadFromMemory(fontChar, fontSize)

フォントをロードします。

于 2013-07-04T19:47:47.507 に答える
1

Fontには良いloadFromMemory方法があるようです。したがって、前の例とまったく同じように使用して、データを文字列リテラルで表示し、それを渡すことができます。

インクルードに適した \xHH hexdump のような形式にバイナリ ファイルを変換するプログラムを作成することは難しくありません。

于 2013-07-01T14:27:19.597 に答える