FreeTypeを使う 新しいページはコチラ

提供: yonewiki
移動: 案内, 検索
(サンプル1.Qt ConsoleApplicationでテキスト出力)
(サンプル1.Qt ConsoleApplicationでテキスト画像表示の解説)
388行: 388行:
  
 
 そして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なら、人間にはそれなりに見えるということだ。画面上で拡大していくと汚くても。印刷したら大丈夫。これが大事。
 
 そして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なら、人間にはそれなりに見えるということだ。画面上で拡大していくと汚くても。印刷したら大丈夫。これが大事。
 +
 +
 +
 ここまでの処理には、不具合があるとError番号に0以外が渡されるので、それを元にエラーがあって強制終了したことを標準エラー出力画面に表示させるStdErrでプログラマに知らせる形式となっている。
 +
 +
 +
 93・94行目は26.6形式に対応するべく、64倍するという操作をマクロ化しています。何回か使うのでスッキリ表示したいというものです。 << とか >> は演算子のオーバーロードが働いているC++のストリーム標準出力とはちがい、オーバーロード宣言される前の標準演算子で言えば、論理シフトという操作になります。 << は左論理シフトです。 >>は右論理シフト。 論理シフトを行うと 2進数の 0b0010が左だと0b0100のように左にひとつ移動し、右からは0が挿入されます。このとき10進数で言えば、2から4に増えています。実は1つ移動するごとに2倍されいます。つまり6回移動すると64倍です。2, 4 , 8, 16, 32, 64 ね。逆に右へ移動させると、1/2倍されていきます。
 +
 +
 +
 しらないと、何やってんのコレって思っちゃいますが、わかるとなんてことはない感じです。
 +
 +
 +
  
 
 
 
 

2022年8月12日 (金) 00:00時点における版



個人用ツール
名前空間

変種
操作
案内
ツールボックス