Anteckning
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Visar bildmanipulering med Hjälp av Windows SDK.
Följande avsnitt visar hur klassen används System.Drawing.Image för att utföra bildmanipulering.
Visa bilder med .NET Framework
I följande kodexempel ändras händelsehanteraren för OnPaint för att hämta en pekare till Graphics-objektet för huvudformuläret. Funktionen OnPaint är avsedd för ett Windows Forms-program, som troligen har skapats med en Visual Studio-programguide.
Bilden representeras av Image klassen. Bilddata läses in från en .jpg fil med hjälp av System.Drawing.Image.FromFile metoden . Innan bilden ritas till formuläret ändras formuläret så att det passar bilden. Ritningen av bilden utförs med System.Drawing.Graphics.DrawImage metoden .
Klasserna Graphics och Image finns båda i System.Drawing namnområdet.
Exempel
#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 );
}
Rita former med .NET Framework
I följande kodexempel används Graphics klassen för att ändra OnPaint händelsehanteraren för att hämta en pekare till Graphics objektet för huvudformuläret. Den här pekaren används sedan för att ange bakgrundsfärgen för formuläret och rita en linje och en båge med metoderna System.Drawing.Graphics.DrawLine och DrawArc .
Exempel
#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 );
}
Rotera bilder med .NET Framework
I följande kodexempel visas hur klassen används för att läsa in en avbildning System.Drawing.Image från disken, rotera den 90 grader och spara den som en ny .jpg fil.
Exempel
#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;
}
Konvertera bildfilformat med .NET Framework
I följande kodexempel visas klassen System.Drawing.Image och uppräkningen System.Drawing.Imaging.ImageFormat som används för att konvertera och spara bildfiler. Följande kod läser in en bild från en .jpg fil och sparar den sedan i både .gif- och .bmp filformat.
Exempel
#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;
}
Relaterade avsnitt
Komma igång med grafikprogrammering