[]
グラフィックは、さまざまな図形、線、曲線、画像などの形でドキュメント内に表示できるビジュアル要素です。一般に、理論や概念をわかりやすく説明するためにテキストを補完するものとして使用されます。
DioDocs for PDF では、GcGraphics クラスにある DrawRectangle、DrawEllipse などのメソッドを使用して、ドキュメントにグラフィックを描画できます。これらのメソッドは、GcPdfGraphics クラスのオブジェクトを使用して、ページ内にグラフィックを描画します。DioDocs for PDF でサポートされているグラフィック要素を次に示します。

PDF ドキュメントに図形を追加するには
次のコードスニペットは、PDF ドキュメントで図形を追加する方法を示します。
public void CreatePDF(Stream stream)
{
// 新しいPDFドキュメントを作成します
var doc = new GcPdfDocument();
var page = doc.NewPage();
var g = page.Graphics;
// 図形を描画するのに使用されるペン
var pen = new Pen(Color.Orange, 2);
// 図形を描画します
g.DrawEllipse(new RectangleF(0.0F, 0.0F, 200.0F, 100.0F), pen);
// ドキュメントを保存します
doc.Save(stream);
}
図形を塗りつぶすには
public void CreatePDF(Stream stream)
{
// 新しいPDFドキュメントを作成します
var doc = new GcPdfDocument();
var page = doc.NewPage();
var g = page.Graphics;
// 図形を描画するのに使用されるペン
var pen = new Pen(Color.Orange, 2);
// 図形を描画します
g.DrawEllipse(new RectangleF(0.0F, 0.0F, 200.0F, 100.0F), pen);
// 図形を塗りつぶします
g.FillEllipse(new RectangleF(0.0F, 0.0F, 200.0F, 100.0F), Color.Orange);
// ドキュメントを保存します
doc.Save(stream);
}
PDF ドキュメントでグラデーションを使用するには
public void CreatePDF(Stream stream)
{
// 新しいPDFドキュメントを作成します
var doc = new GcPdfDocument();
var page = doc.NewPage();
var g = page.Graphics;
// 図形を描画するのに使用されるペン
var pen = new Pen(Color.Orange, 2);
// 図形を描画します
g.DrawRectangle(new RectangleF(0.0F, 0.0F, 200.0F, 100.0F), pen);
// 直線グラデーションブラシを作成します
LinearGradientBrush linearGradBrush = new LinearGradientBrush(Color.Red, Color.Blue);
// 図形を塗りつぶします
g.FillRectangle(new RectangleF(0.0F, 0.0F, 200.0F, 100.0F), linearGradBrush);
// ドキュメントを保存します
doc.Save(stream);
}
同様に、RadialGradientBrush クラスは放射状グラデーションブラシを、HatchBrush クラスはハッチパターンを図形の塗りつぶし用に提供します。
DioDocs for PDF を使用して変換を行うには、GcGraphics クラスで提供される Transform プロパティを設定します。次の例では、四角形のボックスを変換して、0.7 倍に縮小し、(3', 5')の距離分移動させ、反時計回りに 70 度回転させています。 変換のための値は、Matrix3x2 クラスで提供されているさまざまなメソッドを使用して計算されます。
public void CreatePDF(Stream stream)
{
// 新しいPDFドキュメントを作成します
var doc = new GcPdfDocument();
var page = doc.NewPage();
var g = page.Graphics;
// 変換値
var translate0 = Matrix3x2.CreateTranslation(72 * 3, 72 * 5);
var scale0 = Matrix3x2.CreateScale(0.7F);
var rotate0 = Matrix3x2.CreateRotation((float)(-70 * Math.PI) / 180F);
// 四角形を描き、変換を適用します
var box = new RectangleF(0, 0, 72 * 4, 72 * 2);
g.Transform = rotate0 * translate0 * scale0;
g.FillRectangle(box, Color.FromArgb(100, Color.DarkSeaGreen));
g.DrawRectangle(box, Color.DarkOrange, 1);
g.DrawString("サンプルボックス:4\"x2\"のボックスで(0,0)で描かれ" +
"、0.7 倍に縮小し、(3\",5\")の距離分移動させ、 " +
"また反時計回りに70度回転されたテキスト。",
new TextFormat() { Font = StandardFonts.Times, FontSize = 14, }, box);
// ドキュメントを保存します
doc.Save(stream);
}
DioDocs for PDF を使用したグラフィックの実装の詳細については、DioDocs for PDF サンプルブラウザを参照してください。