PDF 内部構造 グラフィックス 新しいページはコチラ

提供: yonewiki
移動: 案内, 検索
(線の色・塗りの色・グラデーション・透明)
 
1行: 1行:
[[PDF 内部構造]]に戻る。
+
[[PDF 内部構造#説明|PDF 内部構造]]に戻る。
 
== '''概要''' ==
 
== '''概要''' ==
 
 埋め込み画像を使えばいいじゃないってことですが、グラフィックスを記述することができます。拡大しても荒くならないベクター形式の図形を描くのが、このグラフィックスという項目で記述する内容です。それにしてもグラフィックスのベクター描画技術を使っているPDFってあんまり見かけないです。Illustratorのように完璧ってわけでもない機能だからと思います。でも、無駄にいろいろできるようにはなっています。ページの座標系は左下が原点で上と右に向かって座標値が増えていく感じです。この座標値を使って線の始点座標や終点座標を指定したり、矩形の左下座標と右上座標を指定したりして描きます。曲線はベジェ曲線を使います。線の考え方に、ベジェ曲線のハンドル座標を1ないしは2個指定をしたりします。あとはつながった線や曲線を閉じるという考え方があったりします。こういう操作は、PDFでは未経験でも画像処理に使うOpenGL/OpenCL/WebGL/OpenCVやHTML5やTeXやCanvas、3D検定や今はなきActionScriptでも扱うので、どこかで似たようなことを経験したことがある人もいると思います。行列をつかった変換行列・平行移動・回転・拡大なんかも経験した人もいるかもです。ちょっと独特な部分を覚えるっていう感じになるやもしれません。
 
 埋め込み画像を使えばいいじゃないってことですが、グラフィックスを記述することができます。拡大しても荒くならないベクター形式の図形を描くのが、このグラフィックスという項目で記述する内容です。それにしてもグラフィックスのベクター描画技術を使っているPDFってあんまり見かけないです。Illustratorのように完璧ってわけでもない機能だからと思います。でも、無駄にいろいろできるようにはなっています。ページの座標系は左下が原点で上と右に向かって座標値が増えていく感じです。この座標値を使って線の始点座標や終点座標を指定したり、矩形の左下座標と右上座標を指定したりして描きます。曲線はベジェ曲線を使います。線の考え方に、ベジェ曲線のハンドル座標を1ないしは2個指定をしたりします。あとはつながった線や曲線を閉じるという考え方があったりします。こういう操作は、PDFでは未経験でも画像処理に使うOpenGL/OpenCL/WebGL/OpenCVやHTML5やTeXやCanvas、3D検定や今はなきActionScriptでも扱うので、どこかで似たようなことを経験したことがある人もいると思います。行列をつかった変換行列・平行移動・回転・拡大なんかも経験した人もいるかもです。ちょっと独特な部分を覚えるっていう感じになるやもしれません。
286行: 286行:
  
 
/DeviceRGB CS
 
/DeviceRGB CS
1 1 0 CS
+
1 1 0 SC
 
</Syntaxhighlight2>
 
</Syntaxhighlight2>
 
 上記の2行の記述と以下の記述は同等です。2行をまとめることができます。
 
 上記の2行の記述と以下の記述は同等です。2行をまとめることができます。
296行: 296行:
  
 
 
 
 
 印刷業界でよく使われるCMYKカラースペースには/DeviceCMYK キーを使います。 C=シアン、M=マゼンダ、Y=イエロー、K=ブラックの分量で設定するカラーです。ストリーム部で以下のようなキー定義をつかうことで CMYK = 1 1 0 0 に相当する赤色に設定ができます。0 ~ 1の小数点表記を含めた表記で階調表現のひとつの色を指定します。
+
 印刷業界でよく使われるCMYKカラースペースには/DeviceCMYK キーを使います。 C=シアン(水色っぽい<span>)</span>、M=マゼンダ<span>(</span>紫色っぽい<span>)<span>、Y=イエロー、K=ブラックの分量で設定するカラーです。ストリーム部で以下のようなキー定義をつかうことで CMYK = 1 1 0 0 に相当する青色に設定ができます。0 ~ 1の小数点表記を含めた表記で階調表現のひとつの色を指定します。
  
 
 例
 
 例
304行: 304行:
  
 
/DeviceCMYK CS
 
/DeviceCMYK CS
1 1 0 0 CS
+
1 1 0 0 SC
 
</Syntaxhighlight2>
 
</Syntaxhighlight2>
 
 上記の2行の記述と以下の記述は同等です。2行をまとめることができます。
 
 上記の2行の記述と以下の記述は同等です。2行をまとめることができます。
324行: 324行:
  
 
<Syntaxhighlight2 lang="text">
 
<Syntaxhighlight2 lang="text">
 
+
0.5 G
 +
100 100 200 200 re S
 +
q
 +
0 G
 +
110 110 180 180 re S
 +
Q
 +
120 120 160 160 re S
 
</Syntaxhighlight2>
 
</Syntaxhighlight2>
  
 と、上記のようになります。
+
 と、上記のようになります。上記の例では最初の 0.5 G<span>(</span>グレーのストローク<span>)</span>という状態をqでスタックして、覚えさせています。次に新しい状態の 0 G <span>(</span>黒色のストローク<span>)</span>という状態を設定して描画した後のQで状態をレストアします。これでスタックしておいたグレーのストロークの状態に戻ります。このような記憶がポップスタックの仕組み。お盆をある専用の保管場所において、どんどんつみあげるように記憶させ、保管場所からお盆を一枚づづ取り出すようにして、読み起こす仕組みです。目的の状態に戻すためにお盆を沢山取り外さないといけないこともあるし、お盆をどんどん取り出すと記録しておいたものはどんどん消えていきます。順番にうまくいったり来たりして使うという工夫を忘れてはいけないです。簡易的なグラフィックス状態の記憶ですね。
  
 
 
 
 
  
[[ファイル:PDF Graphics Bezier.png||thumb|none|ベジェ曲線]]
+
 
  
 
 
 
 
  
[[PDF 内部構造]]に戻る。
+
[[PDF 内部構造#説明|PDF 内部構造]]に戻る。

2022年7月11日 (月) 00:00時点における最新版



個人用ツール
名前空間

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