Trabalhar com Formas em PostScript | .NET

Adicionar Formas no Documento PS

Adicionar Retângulo ao PS

Para adicionar um rectângulo ao PsDocument com a biblioteca Aspose.Page para .NET, devemos seguir os seguintes passos:

  1. Criar um fluxo de saída para o ficheiro PS resultante.
  2. Criar o objeto PsSaveOptions com as opções padrão.
  3. Criar um PsDocument de 1 página com um fluxo de saída já criado e opções de guardar.
  4. Criar um retângulo System.Drawing.Drawing2D.GraphicsPath a partir do retângulo.
  5. Definir uma pintura para o estado gráfico atual do PsDocument.
  6. Preencher o percurso do retângulo.
  7. Fechar a página.
  8. Guarde o documento.

Se precisarmos de traçar (contornar) um retângulo, os primeiros 4 e os últimos 2 passos serão os mesmos, mas os pontos 5 e 6 serão:

  1. Defina o traçado para o estado gráfico atual do PsDocument.

  2. Trace (contorne) o percurso do retângulo.

 1//Create an output stream for PostScript document
 2using (Stream outPsStream = new FileStream(dataDir + "AddRectangle_outPS.ps", FileMode.Create))
 3{
 4    //Create save options with A4 size
 5    PsSaveOptions options = new PsSaveOptions();
 6
 7    // Create new 1-paged PS Document
 8    PsDocument document = new PsDocument(outPsStream, options, false);
 9
10    //Create graphics path from the first rectangle
11    GraphicsPath path = new GraphicsPath();
12    path.AddRectangle(new RectangleF(250, 100, 150, 100));
13    //Set paint
14    document.SetPaint(new SolidBrush(Color.Orange));
15    //Fill the rectangle
16    document.Fill(path);
17
18    //Create graphics path from the second rectangle
19    path = new GraphicsPath();
20    path.AddRectangle(new RectangleF(250, 300, 150, 100));
21    //Set stroke
22    document.SetStroke(new Pen(new SolidBrush(Color.Red), 3));
23    //Stroke (outline) the rectangle
24    document.Draw(path);
25
26    //Close current page
27    document.ClosePage();
28
29    //Save the document
30    document.Save();
31}

Para Linux, MacOS e outros sistemas operativos não Windows, oferecemos a utilização do nosso pacote NuGet Aspose.Page.Drawing. Utiliza o backend Aspose.Drawing em vez da biblioteca de sistema System.Drawing.

Assim, importe o namespace Aspose.Page.Drawing em vez do System.Drawing. Nos excertos de código acima e seguintes, será utilizado Aspose.Page.Drawing.Rectangle em vez de System.Drawing.Rectangle, Aspose.Page.Drawing.Drawing2D.GraphicsPath em vez de System.Drawing.Drawing2D.GraphicsPath e assim por diante. Os nossos exemplos de código no GitHub contêm todas as substituições necessárias.

Veja como trabalhar com formas em documentos PS em Java.


O resultado da execução deste código é apresentado como

Adicionar Retângulo

Adicionar Elipse ao PS

Para adicionar uma elipse ao PsDocument, são também necessários 8 passos:

  1. Crie um fluxo de saída para o ficheiro PS resultante.
  2. Crie o objeto PsSaveOptions com as opções padrão.
  3. Crie um PsDocument de 1 página com um fluxo de saída já criado e guarde as opções.
  4. Crie uma elipse System.Drawing.Drawing2D.GraphicsPath a partir do retângulo.
  5. Defina a pintura para o estado gráfico atual do PsDocument.
  6. Preencha o percurso da elipse.
  7. Feche a página.
  8. Guarde o documento.

Se precisarmos de traçar (contornar) uma elipse, os primeiros 4 e os últimos 2 passos serão os mesmos, mas os pontos 5 e 6 serão:

  1. Defina o traçado para o estado gráfico atual do PsDocument.

  2. Trace (contorne) o percurso da elipse.

 1//Create an output stream for PostScript document
 2using (Stream outPsStream = new FileStream(dataDir + "AddEllipse_outPS.ps", FileMode.Create))
 3{
 4    //Create save options with A4 size
 5    PsSaveOptions options = new PsSaveOptions();
 6
 7    // Create new 1-paged PS Document
 8    PsDocument document = new PsDocument(outPsStream, options, false);
 9
10    //Create graphics path from the first ellipse
11    GraphicsPath path = new GraphicsPath();
12    path.AddEllipse(new RectangleF(250, 100, 150, 100));
13    //Set paint
14    document.SetPaint(new SolidBrush(Color.Orange));
15    //Fill the ellipse
16    document.Fill(path);
17
18    //Create graphics path from the second ellipse
19    path = new SystemGraphicsPath();
20    path.AddEllipse(new RectangleF(250, 300, 150, 100));
21    //Set stroke
22    document.SetStroke(new Pen(new SolidBrush(Color.Red), 3));
23    //Stroke (outline) the ellipse
24    document.Draw(path);
25
26    //Close current page
27    document.ClosePage();
28
29    //Save the document
30    document.Save();
31}

O resultado da execução deste código é apresentado como

Adicionar Elipse

Como podemos ver, qualquer forma, fechada ou não, que possa ser colocada em System.Drawing.Drawing2D.GraphicsPath pode ser preenchida ou desenhada por PsDocument. Também pode ser recortada, mas isso será descrito noutro artigo.

Pode descarregar exemplos e ficheiros de dados do GitHub.

Have any questions about Aspose.Page?



Subscribe to Aspose Product Updates

Get monthly newsletters & offers directly delivered to your mailbox.