Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
Demonstra a manipulação de imagem usando o SDK do Windows.
Os tópicos a seguir demonstram o uso da System.Drawing.Image classe para executar a manipulação de imagens.
Exibir imagens com o .NET Framework
O exemplo de código a seguir modifica o manipulador de eventos OnPaint para recuperar um ponteiro para o Graphics objeto para o formulário principal. A OnPaint função destina-se a um aplicativo do Windows Forms, provavelmente criado com um assistente de aplicativo do Visual Studio.
A imagem é representada pela Image classe. Os dados da imagem são carregados a partir de um arquivo .jpg usando o System.Drawing.Image.FromFile método. Antes de a imagem ser desenhada para o formulário, o formulário é redimensionado para acomodar a imagem. O desenho da imagem é realizado com o System.Drawing.Graphics.DrawImage método.
As Graphics classes e Image estão ambas no System.Drawing namespace.
Exemplo
#using <system.drawing.dll>
using namespace System;
using namespace System::Drawing;
protected:
virtual Void Form1::OnPaint(PaintEventArgs^ pe) override
{
Graphics^ g = pe->Graphics;
Image^ image = Image::FromFile("SampleImage.jpg");
Form::ClientSize = image->Size;
g->DrawImage( image, 0, 0, image->Size.Width, image->Size.Height );
}
Desenhar formas com o .NET Framework
O exemplo de código a seguir usa a Graphics classe para modificar o OnPaint manipulador de eventos para recuperar um ponteiro para o Graphics objeto para o formulário principal. Este ponteiro é então usado para definir a cor de fundo do formulário e desenhar uma linha e um arco usando os métodos System.Drawing.Graphics.DrawLine e DrawArc.
Exemplo
#using <system.drawing.dll>
using namespace System;
using namespace System::Drawing;
// ...
protected:
virtual Void Form1::OnPaint(PaintEventArgs^ pe ) override
{
Graphics^ g = pe->Graphics;
g->Clear(Color::AntiqueWhite);
Rectangle rect = Form::ClientRectangle;
Rectangle smallRect;
smallRect.X = rect.X + rect.Width / 4;
smallRect.Y = rect.Y + rect.Height / 4;
smallRect.Width = rect.Width / 2;
smallRect.Height = rect.Height / 2;
Pen^ redPen = gcnew Pen(Color::Red);
redPen->Width = 4;
g->DrawLine(redPen, 0, 0, rect.Width, rect.Height);
Pen^ bluePen = gcnew Pen(Color::Blue);
bluePen->Width = 10;
g->DrawArc( bluePen, smallRect, 90, 270 );
}
Girar imagens com o .NET Framework
O exemplo de código a seguir demonstra o uso da System.Drawing.Image classe para carregar uma imagem do disco, girá-la 90 graus e salvá-la como um novo arquivo .jpg.
Exemplo
#using <system.drawing.dll>
using namespace System;
using namespace System::Drawing;
int main()
{
Image^ image = Image::FromFile("SampleImage.jpg");
image->RotateFlip( RotateFlipType::Rotate90FlipNone );
image->Save("SampleImage_rotated.jpg");
return 0;
}
Converter formatos de arquivo de imagem com o .NET Framework
O exemplo de código a seguir demonstra a System.Drawing.Image classe e a System.Drawing.Imaging.ImageFormat enumeração usada para converter e salvar arquivos de imagem. O código a seguir carrega uma imagem de um arquivo .jpg e, em seguida, salva-a nos formatos de arquivo .gif e .bmp.
Exemplo
#using <system.drawing.dll>
using namespace System;
using namespace System::Drawing;
using namespace System::Drawing::Imaging;
int main()
{
Image^ image = Image::FromFile("SampleImage.jpg");
image->Save("SampleImage.png", ImageFormat::Png);
image->Save("SampleImage.bmp", ImageFormat::Bmp);
return 0;
}
Seções relacionadas
Introdução à programação gráfica