Adicione imagens a arquivos PS

Solução C# .NET API para trabalhar com imagens de arquivos PS

 

Antes de começar a trabalhar com imagens em arquivos PostScript você precisa conhecer algumas peculiaridades que podem facilitar esse trabalho. Aqui estão alguns pontos-chave:

  • PostScript não suporta transparência, portanto, imagens translúcidas adicionadas ao documento PS serão convertidas em imagens RGB de 24 bits por pixel e renderizadas como opacas. A única exceção são as máscaras de imagem de 1 bit por pixel, ou seja, imagens que possuem cada pixel totalmente opaco ou totalmente transparente. Para tais casos, o PsDocument do Aspose.Page oferece um método separado DrawTransparentImage() com um parâmetro de limite de transparência (TT). Este parâmetro ajuda a converter uma imagem translúcida em uma máscara de imagem de 1 bit por pixel. Se o canal alfa do pixel for maior ou igual a TT, o pixel se torna totalmente transparente. Caso contrário, será totalmente opaco. Por exemplo, se TT for 255, apenas pixels totalmente transparentes serão totalmente transparentes. O restante dos pixels ficará totalmente opaco.
  • PS oferece suporte a vários métodos de compactação de imagens, como DCT (usado no formato JPEG), Flate (usado em compressores ZIP), LZW (usado no formato TIFF) e codificações CCITFax. Mas o PsDocument do Aspose.Page suporta apenas os dois primeiros. Para imagens pequenas, a codificação Flate é usada porque é mais eficaz devido ao menor overhead do que na codificação DCT. O restante das imagens é compactado com codificação DCT.

  • Ao dimensionar ou redimensionar imagens em um arquivo PostScript, o interpretador PostScript pode usar diferentes métodos de interpolação para calcular os valores de pixel da imagem resultante. Isso pode afetar a qualidade e suavidade geral da imagem. Portanto, é importante considerar a qualidade de saída desejada e escolher o método de interpolação apropriado.

  • Os arquivos no formato PS podem ficar significativamente grandes ao incluir imagens de alta resolução ou múltiplas imagens. Isso pode afetar os tempos de transferência e processamento de arquivos, portanto, otimize o tamanho dos dados da imagem reduzindo a resolução, se necessário.

Tenha em mente esses aspectos para garantir a integração adequada da imagem e a renderização precisa em fluxos de trabalho baseados em PostScript. Mas não importa o que aconteça, - Aspose.Page fornece a funcionalidade para adicionar imagens em arquivos PS facilmente. Com esta API você pode adicionar imagens diferentes usando C#. Para saber mais sobre como lidar com arquivos PS e como trabalhar com imagens em arquivos PS em particular siga a documentação.

Para adicionar imagens a documentos PS, precisamos:

  • Aspose.Page for .NET API, que é uma API de conversão e manipulação de documentos rica em recursos, poderosa e fácil de usar para a plataforma C#.

  • Abra o gerenciador de pacotes NuGet, pesquise Aspose.Page e instale. Você também pode usar o seguinte comando do Console do Gerenciador de Pacotes.

Package Manager Console Command


    PM> Install-Package Aspose.Page

Etapas para adicionar imagens a um arquivo PS C#.

O código abaixo cria um documento PS, adiciona uma imagem a ele, aplica uma transformação à imagem e salva o documento com as configurações especificadas. Para ver mais exemplos, acesse projeto Aspose.Page-for-.NET GitHub .

  1. Crie um fluxo de saída para o arquivo PS resultante.
  2. Crie um objeto PsSaveOptions com opções padrão. Altere a cor de fundo, se necessário.
  3. Crie uma nova instância de PsDocument com o fluxo de saída, opções e false como parâmetros. Isto inicializa um novo documento PostScript com as opções especificadas.
  4. Crie um novo estado gráfico.
  5. Crie System.Drawing.Bitmap a partir do arquivo de imagem.
  6. Crie a transformação necessária para a imagem.
  7. Adicione a imagem ao PsDocument como uma imagem totalmente opaca (usando o método AddImage()) se tivermos certeza de que a imagem é opaca ou adicione uma como uma imagem transparente (usando o método AddTransparentImage()) se não tivermos certeza de que a imagem é opaco.
  8. Sai do estado gráfico atual para o nível superior.
  9. Chame ClosePage() para indicar que a página atual foi concluída.
  10. Salve as alterações usando o método Save().

Código C# para inserir uma imagem em um arquivo PS

    using Aspose.Page.EPS;
    using Aspose.Page.EPS.Device;
    using System.Drawing;
    using System.Drawing.Drawing2D;
    using System.IO;
//Create an output stream for PostScript document
using (Stream outPsStream = new FileStream(dataDir + "AddTransparentImage_outPS.ps", FileMode.Create))
    {
        //Create save options with A4 size
        PsSaveOptions options = new PsSaveOptions();
        //Set page's background color to see a white image on it's own transparent background
        options.BackgroundColor = Color.FromArgb(211, 8, 48);

        // Create a new 1-paged PS Document
        PsDocument document = new PsDocument(outPsStream, options, false);


        document.WriteGraphicsSave();
        document.Translate(20, 100);

        //Create a bitmap from the translucent image file
        using (Bitmap image = new Bitmap(dataDir + "mask1.png"))
        {
            //Add this image to the document as usual opaque RGB image
            document.DrawImage(image, new System.Drawing.Drawing2D.Matrix(1, 0, 0, 1, 100, 0), Color.Empty);
        }

        //Again create a bitmap from the same image file
        using (Bitmap image = new Bitmap(dataDir + "mask1.png"))
        {
            //Add this image to the document as transparent image
            document.DrawTransparentImage(image, new System.Drawing.Drawing2D.Matrix(1, 0, 0, 1, 350, 0), 255);
        }

        document.WriteGraphicsRestore();

        //Close the current page
        document.ClosePage();

        //Save the document
        document.Save();
    }



Perguntas frequentes

1. Posso adicionar imagens a arquivos PostScript (PS)?

Sim, você pode adicionar imagens a arquivos PostScript. PostScript é uma linguagem de descrição de página usada principalmente para fluxos de trabalho de impressão e publicação. Embora lide principalmente com comandos de texto e gráficos, também oferece suporte à inclusão de imagens. As imagens em arquivos PostScript são normalmente representadas como dados bitmap ou gráficos vetoriais, dependendo dos requisitos específicos do documento.

2. Como adiciono imagens a um arquivo PostScript (PS)?

Para adicionar imagens a um arquivo PostScript, normalmente você precisa incluir os comandos de imagem apropriados no arquivo PS. Esses comandos especificam a localização, o tamanho e outras propriedades da imagem a ser incluída. Você também pode precisar converter suas imagens para um formato compatível com PostScript, como EPS (Encapsulated PostScript), antes de incluí-las em seu arquivo PS.

3. Quais formatos de arquivo de imagem são compatíveis com arquivos PostScript (PS)?

Os arquivos PostScript podem incluir imagens em vários formatos, incluindo EPS, TIFF, JPEG, PNG, BMP, GIF, etc. Esses formatos podem ser incluídos em arquivos PostScript usando comandos e especificações apropriados para garantir compatibilidade e renderização adequada quando o arquivo PS for impresso ou visualizado.

PS O que é PS Formato de Arquivo

O formato PS é um dos formatos de linguagem de descrição de página (PDL). É capaz de conter informações gráficas e de texto na página. É por isso que o formato era suportado pela maioria dos programas de edição de imagens. O próprio arquivo postscript é um tipo de instrução para impressoras. Ele contém informações sobre o que e como imprimir a partir de sua página.