PDFファイルに長方形オブジェクトを追加
次のコードスニペットは、Aspose.PDF.Drawing ライブラリでも動作します。
Rectangle オブジェクトの追加
Aspose.PDF for .NETは、PDF文書にグラフィックオブジェクト(例えばグラフ、ライン、レクタングルなど)を追加する機能をサポートしています。Rectangle オブジェクトを追加する際に、特定の色でレクタングルオブジェクトを塗りつぶす機能、Z-Orderを制御する機能、グラデーションカラーの塗りつぶしを追加する機能なども提供しています。
まず、Rectangleオブジェクトを作成する可能性について見てみましょう。
以下の手順に従ってください:
-
新しいPDF Document を作成する
-
PDFファイルのページコレクションに Page を追加する
-
ページインスタンスのパラグラフコレクションに Text fragment を追加する
-
Graph インスタンスを作成する
-
Rectangle インスタンスを作成する
-
Rectangle オブジェクトを Graph オブジェクトの shapes コレクションに追加する
-
Graph オブジェクトをページインスタンスの paragraphs コレクションに追加する
-
Text fragment をページインスタンスの paragraphs コレクションに追加する
-
PDFファイルを保存する
private static void AddRectangle(Page page, float x, float y, float width, float height, Color color, int zindex)
{
// Rectangle オブジェクトの指定された寸法と同じ寸法の graph オブジェクトを作成する
Aspose.Pdf.Drawing.Graph graph = new Aspose.Pdf.Drawing.Graph(width, height)
{
// graph インスタンスの位置を変更できるか
IsChangePosition = false,
// Graph インスタンスの Left 座標位置を設定
Left = x,
// Graph オブジェクトの Top 座標位置を設定
Top = y
};
// "graph" 内に rectangle を追加する
Rectangle rect = new Rectangle(0, 0, width, height);
// rectangle の塗りつぶし色を設定
rect.GraphInfo.FillColor = color;
// graph オブジェクトの色
rect.GraphInfo.Color = color;
// rectangle を graph インスタンスの shapes コレクションに追加する
graph.Shapes.Add(rect);
// rectangle オブジェクトの Z-Index を設定する
graph.ZIndex = zindex;
// graph をページオブジェクトの paragraphs コレクションに追加する
page.Paragraphs.Add(graph);
}
塗りつぶされた長方形オブジェクトの作成
Aspose.PDF for .NETは、特定の色で長方形オブジェクトを塗りつぶす機能も提供しています。
以下のコードスニペットは、色で塗りつぶされたRectangleオブジェクトを追加する方法を示しています。
{
private const string _dataDir = "C:\\Samples\\";
public static void RectangleFilled()
{
// Document インスタンスを作成
var doc = new Document();
// ページをPDFファイルのページコレクションに追加
var page = doc.Pages.Add();
// Graph インスタンスを作成
var graph = new Aspose.Pdf.Drawing.Graph(100, 400);
// Graphオブジェクトをページインスタンスの段落コレクションに追加
page.Paragraphs.Add(graph);
// Rectangle インスタンスを作成
var rect = new Rectangle(100, 100, 200, 120);
// Graphオブジェクトの塗りつぶし色を指定
rect.GraphInfo.FillColor = Color.Red;
// RectangleオブジェクトをGraphオブジェクトの形状コレクションに追加
graph.Shapes.Add(rect);
// PDFファイルを保存
doc.Save(_dataDir + "CreateFilledRectangle_out.pdf");
}
固体色で塗りつぶされた長方形の結果を見てください:
グラデーション塗りつぶしを追加する
Aspose.PDF for .NETは、PDFドキュメントにグラフオブジェクトを追加する機能をサポートしており、グラフオブジェクトをグラデーションカラーで塗りつぶすことが必要な場合があります。グラフオブジェクトをグラデーションカラーで塗りつぶすには、gradientAxialShadingオブジェクトを使用してsetPatterColorSpaceを設定する必要があります。
次のコードスニペットは、グラデーションカラーで塗りつぶされたRectangleオブジェクトを追加する方法を示しています。
public static void CreateFilledRectangletGradientFill()
{
// Create Document instance
var doc = new Document();
// Add page to pages collection of PDF file
var page = doc.Pages.Add();
// Create Graph instance
var graph = new Aspose.Pdf.Drawing.Graph(400, 400);
// Add graph object to paragraphs collection of page instance
page.Paragraphs.Add(graph);
// Create Rectangle instance
var rect = new Rectangle(0, 0, 300, 300);
// Specify fill color for Graph object
var gradientColor = new Color();
var gradientSettings = new GradientAxialShading(Color.Red, Color.Blue)
{
Start = new Point(0, 0),
End = new Point(350, 350)
};
gradientColor.PatternColorSpace = gradientSettings;
rect.GraphInfo.FillColor = gradientColor;
// Add rectangle object to shapes collection of Graph object
graph.Shapes.Add(rect);
// Save PDF file
doc.Save(_dataDir + "CreateFilledRectangle_out.pdf");
}
アルファカラーチャネル付きの長方形を作成
Aspose.PDF for .NETは、特定の色で長方形オブジェクトを塗りつぶすことをサポートしています。長方形オブジェクトはアルファカラーチャネルも持つことができ、透明な外観を与えることができます。次のコードスニペットは、アルファカラーチャネルを持つRectangleオブジェクトを追加する方法を示しています。
画像のピクセルは、色の値とともに不透明度に関する情報を保存することができます。これにより、透明または半透明のエリアを持つ画像を作成することができます。
色を透明にする代わりに、各ピクセルはどれだけ不透明であるかの情報を保存します。この不透明度データはアルファチャネルと呼ばれ、通常はピクセルの色チャネルの後に格納されます。
public static void RectangleFilled_AlphaChannel()
{
// Documentインスタンスを作成
var doc = new Document();
// PDFファイルのページコレクションにページを追加
var page = doc.Pages.Add();
// Graphインスタンスを作成
var graph = new Aspose.Pdf.Drawing.Graph(100, 400);
// ページインスタンスの段落コレクションにグラフオブジェクトを追加
page.Paragraphs.Add(graph);
// Rectangleインスタンスを作成
var rect = new Rectangle(100, 100, 200, 120);
// Graphオブジェクトの塗りつぶし色を指定
rect.GraphInfo.FillColor = Color.FromArgb(128, 244, 180, 0);
// Graphオブジェクトの形状コレクションに長方形オブジェクトを追加
graph.Shapes.Add(rect);
// 2つ目の長方形オブジェクトを作成
var rect1 = new Rectangle(200, 150, 200, 100);
rect1.GraphInfo.FillColor = Color.FromArgb(160, 120, 0, 120);
graph.Shapes.Add(rect1);
// ページオブジェクトの段落コレクションにグラフインスタンスを追加
page.Paragraphs.Add(graph);
// PDFファイルを保存
doc.Save(_dataDir + "CreateFilledRectangle_out.pdf");
}
四角形のZオーダーを制御する
Aspose.PDF for .NETは、PDFドキュメントにグラフオブジェクト(例えばグラフ、ライン、四角形など)を追加する機能をサポートしています。PDFファイル内に同じオブジェクトの複数のインスタンスを追加する場合、Zオーダーを指定することによって、それらのレンダリングを制御できます。Zオーダーは、オブジェクトを互いに重ねてレンダリングする必要がある場合にも使用されます。
以下のコードスニペットは、四角形オブジェクトを互いに重ねてレンダリングする手順を示しています。
public static void AddRectangleZOrder()
{
// Documentクラスオブジェクトをインスタンス化
Document doc1 = new Document();
/// PDFファイルのページコレクションにページを追加
Page page1 = doc1.Pages.Add();
// PDFページのサイズを設定
page1.SetPageSize(375, 300);
// ページオブジェクトの左マージンを0に設定
page1.PageInfo.Margin.Left = 0;
// ページオブジェクトの上マージンを0に設定
page1.PageInfo.Margin.Top = 0;
// 赤色、Zオーダー0、特定の寸法で新しい四角形を作成
AddRectangle(page1, 50, 40, 60, 40, Color.Red, 2);
// 青色、Zオーダー0、特定の寸法で新しい四角形を作成
AddRectangle(page1, 20, 20, 30, 30, Color.Blue, 1);
// 緑色、Zオーダー0、特定の寸法で新しい四角形を作成
AddRectangle(page1, 40, 40, 60, 30, Color.Green, 0);
// 結果のPDFファイルを保存
doc1.Save(_dataDir + "ControlRectangleZOrder_out.pdf");
}