FreeTypeを使う 新しいページはコチラ
提供: yonewiki
(→サンプル1.Qt ConsoleApplicationでテキスト画像表示の解説) |
(→サンプル1.Qt ConsoleApplicationでテキスト画像表示の解説) |
||
375行: | 375行: | ||
− | 67行目でQImageクラスの変数を実体化しています。空の画像格納用変数になります。最初の引数に画像の横幅と縦幅を格納したQSizeクラスの値が必要なので、その上の行で、QSize | + | 67行目でQImageクラスの変数を実体化しています。空の画像格納用変数になります。最初の引数に画像の横幅と縦幅を格納したQSizeクラスの値が必要なので、その上の行で、QSize クラスの変数を実体化しています。第二引数はどういう形式の画像にするかというフラグ設定列挙子です。今回はフルカラーRGBと透明度が設定可能な形式。 |
+ | |||
+ | |||
+ | 69行目からはfreetypeのおきまりの初期化が始まります。91行目までは、このようなサンプルのおきまりの初期化の流れになります。freetypeの初期化をlibraryというクラス変数で実施して、次にその初期化されたクラス変数設定状態を有した状態でフォント情報を保持したfaceというクラスを生成。 | ||
+ | |||
+ | |||
+ | 81行目 | ||
+ | |||
+ | FT_New_Face(library, qPrintable("C:\\Windows\\Fonts\\KozGoPr6N-Medium.otf"), 0, &face); | ||
+ | |||
+ | |||
+ | のようにして、face変数に第一引数のフォント名を関連付けたオブジェクトとして操作できるようになる。 | ||
+ | |||
+ | |||
+ | そして87行目で1文字を読み取るためのグリフサイズをポイント値で指定。第一引数はこれまでの初期化で生成されたオブジェクトfaceで、次の引数の8は8ポイントを意味していて、ここに指定する1単位は1/64倍されたポイント数になるので、8ポイントにするための8/64を64倍して、8ポイントとして扱うことができる。このとき、このポイント数は26.6<span>(</span>ニィロク ロク<span>)</span>固定小数と呼ぶ形式になっていると言える。その後ろの2つつづく300は横・縦の内部解像度の扱いを指定している。表示する部分がせいぜい8ポイント程度の画面上の表示でも1インチあたりは300個の情報を内部的に保持する形式になり、印刷してもそれなりに綺麗にみえる。300dpiというが、これは印刷業界の一般的な知識です。300dpiなら、人間にはそれなりに見えるということだ。画面上で拡大していくと汚くても。印刷したら大丈夫。これが大事。 | ||
+ | |||
+ | |||