Criar, carregar, preencher e desenhar bitmap em C#

Um bitmap é usado para criar e armazenar gráficos de computador. As imagens bitmap são amplamente usadas em páginas da web e dispositivos digitais, como câmeras, smartphones, etc. Os tipos de arquivos gráficos bitmap mais comuns são BMP, GIF, PNG e JPEG. Neste artigo, aprenderemos como criar um bitmap em C#.

Os seguintes tópicos serão abordados neste artigo:

  1. API C# para criar, carregar, preencher e desenhar bitmap
  2. Criar um novo bitmap do zero
  3. Criar um bitmap de matriz de bytes
  4. Salvar bitmap como arquivo de imagem
  5. Desenhar Formas em Bitmap
  6. Desenhar texto na imagem bitmap
  7. Preencher um bitmap com cor sólida
  8. Carregar uma imagem em bitmap
  9. Redimensionar uma imagem existente usando bitmap

API C# para criar, carregar, preencher e desenhar bitmap - Download grátis

Para criar um bitmap, usaremos a API Aspose.Drawing for .NET. É uma biblioteca de gráficos 2D de plataforma cruzada para desenhar texto, geometrias e imagens programaticamente. Ele permite carregar, salvar e manipular os formatos de arquivo suportados.

Por favor, baixe a DLL da API ou instale-a usando NuGet.

PM> Install-Package Aspose.Drawing

Crie um Novo Bitmap em C#

Podemos criar um novo bitmap do zero seguindo as etapas abaixo:

  1. Em primeiro lugar, crie um novo bitmap usando a classe Bitmap com o tamanho e formato especificados.
  2. Em seguida, crie um novo objeto Graphics a partir do objeto Bitmap usando o método FromImage().
  3. Em seguida, inicialize um objeto da classe Pen com a cor e o tamanho especificados.
  4. Depois disso, chame o método DrawEllipse() para desenhar uma Elipse com um tamanho especificado.
  5. Finalmente, salve a imagem de saída usando o método Save().

O exemplo de código a seguir mostra como criar um novo bitmap em C#.

// Este exemplo de código demonstra como criar um novo bitmap programaticamente em C#.
// Inicializar objeto Bitmap
Bitmap bitmap = new Bitmap(1000, 800, System.Drawing.Imaging.PixelFormat.Format32bppPArgb);

// Crie um novo gráfico
Graphics graphics = Graphics.FromImage(bitmap);

// Inicializar uma caneta
Pen pen = new Pen(Color.Red, 5);

// Desenhe um retângulo
graphics.DrawEllipse(pen, new Rectangle(0, 0, 700, 700));

// Salve o arquivo
bitmap.Save(@"C:\Files\Drawings\output.png");
Criar-um-novo-bitmap-no-CSharp

Crie um novo Bitmap em C#

Crie um bitmap de matriz de bytes em c

Podemos criar um bitmap a partir de bytes de fluxo de memória seguindo as etapas abaixo:

  1. Leia o arquivo de imagem em uma matriz de bytes.
  2. Crie uma nova instância do MemoryStream usando o objeto de matriz de bytes.
  3. Crie um novo bitmap usando a classe Bitmap com o objeto MemoryStream.
  4. Finalmente, salve a imagem usando o método Save().

O exemplo de código a seguir mostra como criar um bitmap de Byte Array usando MemoryStream em C#.

// Este exemplo de código demonstra como criar um novo bitmap de bytes de fluxo de memória em C#.
// Carregue a imagem e leia todos os bytes
var file = File.ReadAllBytes(@"C:\Files\Drawings\sample.jpg");

// Criar fluxo de memória
MemoryStream stream = new MemoryStream(file);

// Criar um novo bitmap
Bitmap bitmap = new Bitmap(stream);

// Salve o arquivo
bitmap.Save(@"C:\Files\Drawings\output.jpg");

C# Salvar bitmap em um arquivo

Podemos salvar a imagem bitmap em um arquivo em vários formatos de arquivo suportados seguindo as etapas mencionadas anteriormente. No entanto, precisamos apenas mencionar a extensão de formato de arquivo de salvamento desejada ao salvar o arquivo de imagem usando o método Save(string filename, ImageFormat format) na última etapa.

  • Salvar um bitmap como um arquivo BMP
bitmap.Save(@"C:\Files\output.bmp", ImageFormat.Bmp);
  • Salvar um bitmap como um arquivo PNG
bitmap.Save(@"C:\Files\output.png", ImageFormat.Png);
  • Salvar um bitmap como um arquivo JPG
bitmap.Save(@"C:\Files\output.jpg", ImageFormat.Jpeg);
  • Salvar um bitmap como um arquivo GIF
bitmap.Save(@"C:\Files\output.gif", ImageFormat.Gif);

Desenhar em C# em Bitmap

Podemos desenhar várias formas e imagens em um bitmap seguindo as etapas mencionadas anteriormente. No entanto, só precisamos usar os métodos específicos de forma para desenhar as formas desejadas.

Podemos desenhar as seguintes formas usando os métodos específicos fornecidos para desenhar no bitmap:

  • Arco: Podemos desenhar um arco usando o método DrawArc().
  • Bezier: Podemos desenhar um Bezier usando o método DrawBezier().
  • Uma série de splines de Bézier: Podemos desenhar uma série de splines de Bézier usando o método DrawBeziers().
  • Curva: Podemos desenhar uma forma curva usando o método DrawCurve().
  • ClosedCurve: Podemos desenhar uma curva fechada usando o método DrawClosedCurve().
  • Elipse: Podemos desenhar uma Elipse usando o método DrawEllipse().
  • Linha: Podemos desenhar uma Linha usando o método DrawLine().
  • Uma série de Linhas: Podemos desenhar uma série de Linhas usando o método DrawLines().
  • Path: Podemos desenhar um Path usando o método DrawPath().
  • Pie: Podemos desenhar uma Pie usando o método DrawPie().
  • Polígono: Podemos desenhar um polígono usando o método DrawPolygon().
  • Retângulo: Podemos desenhar um Retângulo usando o método DrawRectangle().
  • Uma série de retângulos: Podemos desenhar uma série de retângulos usando o método DrawRectangles().

Podemos desenhar as imagens no bitmap usando os seguintes métodos:

  • Icon: Podemos desenhar a imagem representada pelo Icon especificado dentro da área especificada por uma estrutura Rectangle usando o método DrawIcon().
  • Imagem: Podemos desenhar qualquer imagem especificada usando o método DrawImage().

C# Desenhar texto em bitmap

Podemos desenhar qualquer string em um bitmap seguindo as etapas abaixo:

  1. Em primeiro lugar, crie um novo bitmap usando a classe Bitmap com o tamanho especificado.
  2. Em seguida, crie um novo objeto Graphics a partir do objeto Bitmap usando o método FromImage().
  3. Em seguida, defina um objeto da classe Font com a família de fontes, estilo e tamanho desejados.
  4. Enquanto isso, inicialize um objeto SolidBrush com a cor especificada.
  5. Depois disso, chame o método DrawString() com o texto a ser mostrado, os objetos Font e Brush como argumentos.
  6. Finalmente, salve a imagem de saída usando o método Save().

O exemplo de código a seguir mostra como desenhar texto em um bitmap em C#.

// Este exemplo de código demonstra como desenhar um texto em um novo bitmap programaticamente em C#.
// Inicializar objeto Bitmap
Bitmap bitmap = new Bitmap(500,200);

// Crie um novo gráfico
Graphics graphics = Graphics.FromImage(bitmap);

// Inicializar uma Fonte
var font = new Font(FontFamily.GenericSerif, 40f, FontStyle.Bold);

// Inicializar um Pincel
var brush = new SolidBrush(Color.Red);

// Desenhe um retângulo
graphics.DrawString("Welcome to Bitmap!", font, brush, 10, 20);

// Salve o arquivo
bitmap.Save(@"C:\Files\Drawings\output.png", ImageFormat.Png);
C# Desenhar texto em bitmap

C# Desenhar texto em bitmap

Preencha um bitmap com cor sólida em C#

Podemos preencher um bitmap com uma cor sólida usando um retângulo preenchido e salvá-lo em um novo bitmap seguindo as etapas abaixo:

  1. Em primeiro lugar, crie um novo bitmap usando a classe Bitmap com o tamanho especificado.
  2. Em seguida, crie um novo objeto Graphics a partir do objeto Bitmap usando o método FromImage().
  3. Em seguida, inicialize um objeto de classe Rectangle com o local e tamanho especificados.
  4. Depois disso, chame o método FillRectangle() com a cor do pincel e o retângulo.
  5. Finalmente, salve a imagem de saída usando o método Save().

O exemplo de código a seguir mostra como preencher um bitmap com uma cor sólida usando um retângulo em C#.

// Este exemplo de código demonstra como criar um novo bitmap com retângulo preenchido em C#.
// Inicializar bitmap com tamanho especificado
Bitmap bitmap = new Bitmap(500, 500);

// Crie um novo gráfico
Graphics graph = Graphics.FromImage(bitmap);

// Definir um retângulo
Rectangle ImageSize = new Rectangle(0, 0, 500, 500);

// Desenhe um retângulo preenchido
graph.FillRectangle(Brushes.Gray, ImageSize);

// Salve o arquivo
bitmap.Save(@"C:\Files\Drawings\output.png");
C# Desenhar em Bitmap e Preencher com Retângulo

C# Desenhar retângulo no bitmap e preencher com uma cor

Carregar uma imagem em bitmap usando c

Também podemos carregar uma imagem existente em um bitmap e salvá-la como um novo bitmap seguindo as etapas abaixo:

  1. Primeiramente, carregue uma imagem usando a classe Bitmap.
  2. Em seguida, crie um novo bitmap usando a classe Bitmap com o tamanho especificado.
  3. Em seguida, crie um novo objeto Graphics a partir do objeto Bitmap recém-criado usando o método FromImage().
  4. Depois disso, chame o método DrawImage() com a imagem e as coordenadas de localização como argumentos.
  5. Finalmente, salve a imagem de saída usando o método Save().

O exemplo de código a seguir mostra como carregar uma imagem em um bitmap usando C#.

// Este exemplo de código demonstra como carregar uma imagem em um bitmap e salvá-la como um novo bitmap.
// Carregue a imagem:
Bitmap image = new Bitmap(@"C:\Files\Drawings\sample.jpg");

// Inicializar bitmap com tamanho especificado
Bitmap bitmap = new Bitmap(1000, 1000);

// Crie um novo gráfico
Graphics graphics = Graphics.FromImage(bitmap);

// Desenhar a imagem no local especificado
graphics.DrawImage(image, 10, 10);

// Salve o arquivo
bitmap.Save(@"C:\Files\Drawings\output.png");
Carregar-uma-imagem-no-Bitmap-usando-CSharp

Carregar uma imagem em bitmap usando c #

Como redimensionar a imagem usando bitmap em c

Podemos carregar e redimensionar uma imagem existente em um bitmap e salvá-la como um novo bitmap seguindo as etapas abaixo:

  1. Carregue uma imagem existente usando a classe Bitmap.
  2. Crie um novo bitmap usando a classe Bitmap com a imagem carregada e o tamanho especificado.
  3. Finalmente, salve a imagem de saída usando o método Save().

O exemplo de código a seguir mostra como redimensionar uma imagem existente e salvá-la como um novo bitmap em C#.

// Este exemplo de código demonstra como criar redimensionar uma imagem existente e criar um novo bitmap em C#.
// Carregue a imagem:
Bitmap image = new Bitmap(@"C:\Files\Drawings\sample.jpg");

// Crie um novo bitmap com metade do tamanho da imagem carregada:
Bitmap bitmap = new Bitmap(image, (int)(image.Width * 0.5), (int)(image.Height * 0.5));

// Salve o arquivo
bitmap.Save(@"C:\Files\Drawings\output.jpg");
Como redimensionar a imagem usando bitmap em c #

Redimensionar imagem existente usando C#

Obtenha licença temporária gratuita

Você pode obter uma licença temporária gratuita para experimentar o Aspose.Drawing for .NET sem limitações de avaliação.

Conclusão

Neste artigo, aprendemos como:

  • criar um novo bitmap;
  • desenhe retângulo, elipse, etc. em um bitmap;
  • carregar uma imagem existente;
  • redimensionar uma imagem existente e criar um novo bitmap com um novo tamanho;
  • salvar uma imagem Bitmap de MemoryStream ou matriz de bytes em um arquivo;
  • defina a largura e a altura de um bitmap em C#.

Além de criar um novo bitmap em C#, você pode aprender mais sobre Aspose.Drawing para .NET usando documentação e explorar vários recursos suportados pela API. Em caso de ambiguidade, sinta-se à vontade para nos contatar em nosso fórum de suporte gratuito.

Veja também