Adicionar Objeto Retângulo ao arquivo PDF
O seguinte trecho de código também funciona com a biblioteca Aspose.PDF.Drawing.
Adicionar objeto Retângulo
Aspose.PDF para .NET suporta a funcionalidade de adicionar objetos gráficos (por exemplo, gráfico, linha, retângulo etc.) aos documentos PDF. Você também tem a vantagem de adicionar um objeto Retângulo onde também oferece a funcionalidade de preencher o objeto retângulo com uma determinada cor, controlar a ordem Z, adicionar preenchimento de cor gradiente e etc.
Primeiro, vamos olhar para a possibilidade de criar um objeto Retângulo.
Siga os passos abaixo:
-
Crie um novo Documento PDF
-
Adicione Página à coleção de páginas do arquivo PDF
-
Adicione Fragmento de texto à coleção de parágrafos da instância da página
-
Crie uma instância Gráfico
-
Criar instância de Retângulo
-
Adicionar objeto Retângulo à coleção de formas do objeto Gráfico
-
Adicionar objeto gráfico à coleção de parágrafos da instância de página
-
Adicionar Fragmento de texto à coleção de parágrafos da instância de página
-
E salve seu arquivo PDF
private static void AddRectangle(Page page, float x, float y, float width, float height, Color color, int zindex)
{
// Criar objeto gráfico com dimensões especificadas para o objeto Retângulo
Aspose.Pdf.Drawing.Graph graph = new Aspose.Pdf.Drawing.Graph(width, height)
{
// Podemos alterar a posição da instância do gráfico
IsChangePosition = false,
// Definir posição da coordenada Esquerda para a instância do Gráfico
Left = x,
// Definir posição da coordenada Superior para o objeto Gráfico
Top = y
};
// Adicionar um retângulo dentro do "gráfico"
Rectangle rect = new Rectangle(0, 0, width, height);
// Definir a cor de preenchimento do retângulo
rect.GraphInfo.FillColor = color;
// Cor do objeto gráfico
rect.GraphInfo.Color = color;
// Adicionar retângulo à coleção de formas da instância do gráfico
graph.Shapes.Add(rect);
// Definir Z-Index para o objeto retângulo
graph.ZIndex = zindex;
// Adicionar gráfico à coleção de parágrafos do objeto de página
page.Paragraphs.Add(graph);
}
Criar Objeto Retângulo Preenchido
Aspose.PDF para .NET também oferece a funcionalidade de preencher um objeto retângulo com uma determinada cor.
O seguinte trecho de código mostra como adicionar um objeto Retângulo que é preenchido com cor.
{
private const string _dataDir = "C:\\Samples\\";
public static void RectangleFilled()
{
// Criar instância de Document
var doc = new Document();
// Adicionar página à coleção de páginas do arquivo PDF
var page = doc.Pages.Add();
// Criar instância de Graph
var graph = new Aspose.Pdf.Drawing.Graph(100, 400);
// Adicionar objeto gráfico à coleção de parágrafos da instância de página
page.Paragraphs.Add(graph);
// Criar instância de Rectangle
var rect = new Rectangle(100, 100, 200, 120);
// Especificar cor de preenchimento para o objeto Graph
rect.GraphInfo.FillColor = Color.Red;
// Adicionar objeto retângulo à coleção de formas do objeto Graph
graph.Shapes.Add(rect);
// Salvar arquivo PDF
doc.Save(_dataDir + "CreateFilledRectangle_out.pdf");
}
Veja o resultado de um retângulo preenchido com cor sólida:
Adicionar Desenho com Preenchimento Gradiente
Aspose.PDF para .NET suporta a funcionalidade de adicionar objetos gráficos a documentos PDF e, às vezes, é necessário preencher objetos gráficos com Cor Gradiente. Para preencher objetos gráficos com Cor Gradiente, precisamos configurar setPatterColorSpace com o objeto gradientAxialShading conforme a seguir.
O seguinte trecho de código mostra como adicionar um objeto Retângulo que é preenchido com Cor Gradiente.
public static void CreateFilledRectangletGradientFill()
{
// Criar instância de Documento
var doc = new Document();
// Adicionar página à coleção de páginas do arquivo PDF
var page = doc.Pages.Add();
// Criar instância de Gráfico
var graph = new Aspose.Pdf.Drawing.Graph(400, 400);
// Adicionar objeto gráfico à coleção de parágrafos da instância de página
page.Paragraphs.Add(graph);
// Criar instância de Retângulo
var rect = new Rectangle(0, 0, 300, 300);
// Especificar cor de preenchimento para o objeto Gráfico
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;
// Adicionar objeto retângulo à coleção de formas do objeto Gráfico
graph.Shapes.Add(rect);
// Salvar arquivo PDF
doc.Save(_dataDir + "CreateFilledRectangle_out.pdf");
}
Criar Retângulo com Canal Alfa de Cor
O Aspose.PDF para .NET suporta o preenchimento de objetos retângulos com uma cor específica. Um objeto retângulo também pode ter um canal de cor Alfa para dar uma aparência transparente. O trecho de código a seguir mostra como adicionar um objeto Retângulo com canal de cor Alfa.
Os pixels da imagem podem armazenar informações sobre sua opacidade, juntamente com o valor da cor. Isso permite criar imagens com áreas transparentes ou semi-transparentes.
Em vez de tornar uma cor transparente, cada pixel armazena informações sobre o quão opaco ele é. Esses dados de opacidade são chamados de canal alfa e geralmente são armazenados após os canais de cor do pixel.
public static void RectangleFilled_AlphaChannel()
{
// Criar instância do Documento
var doc = new Document();
// Adicionar página à coleção de páginas do arquivo PDF
var page = doc.Pages.Add();
// Criar instância de Gráfico
var graph = new Aspose.Pdf.Drawing.Graph(100, 400);
// Adicionar objeto gráfico à coleção de parágrafos da instância de página
page.Paragraphs.Add(graph);
// Criar instância de Retângulo
var rect = new Rectangle(100, 100, 200, 120);
// Especificar cor de preenchimento para o objeto Gráfico
rect.GraphInfo.FillColor = Color.FromArgb(128, 244, 180, 0);
// Adicionar objeto retângulo à coleção de formas do objeto Gráfico
graph.Shapes.Add(rect);
// Criar segundo objeto retângulo
var rect1 = new Rectangle(200, 150, 200, 100);
rect1.GraphInfo.FillColor = Color.FromArgb(160, 120, 0, 120);
graph.Shapes.Add(rect1);
// Adicionar instância de gráfico à coleção de parágrafos do objeto de página
page.Paragraphs.Add(graph);
// Salvar arquivo PDF
doc.Save(_dataDir + "CreateFilledRectangle_out.pdf");
}
Controle a Ordem Z do Retângulo
Aspose.PDF para .NET suporta a funcionalidade de adicionar objetos gráficos (por exemplo, gráfico, linha, retângulo etc.) a documentos PDF. Ao adicionar mais de uma instância do mesmo objeto dentro do arquivo PDF, podemos controlar sua renderização especificando a Ordem Z. A Ordem Z também é usada quando precisamos renderizar objetos sobrepostos uns aos outros.
O seguinte trecho de código mostra os passos para renderizar objetos Rectangle uns sobre os outros.
public static void AddRectangleZOrder()
{
// Instancie o objeto da classe Document
Document doc1 = new Document();
/// Adicione página à coleção de páginas do arquivo PDF
Page page1 = doc1.Pages.Add();
// Defina o tamanho da página PDF
page1.SetPageSize(375, 300);
// Defina a margem esquerda do objeto página como 0
page1.PageInfo.Margin.Left = 0;
// Defina a margem superior do objeto página como 0
page1.PageInfo.Margin.Top = 0;
// Crie um novo retângulo com Cor como Vermelho, Ordem Z como 0 e certas dimensões
AddRectangle(page1, 50, 40, 60, 40, Color.Red, 2);
// Crie um novo retângulo com Cor como Azul, Ordem Z como 0 e certas dimensões
AddRectangle(page1, 20, 20, 30, 30, Color.Blue, 1);
// Crie um novo retângulo com Cor como Verde, Ordem Z como 0 e certas dimensões
AddRectangle(page1, 40, 40, 60, 30, Color.Green, 0);
// Salve o arquivo PDF resultante
doc1.Save(_dataDir + "ControlRectangleZOrder_out.pdf");
}