Image.Save Méthode
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
Enregistre cette image dans le flux spécifié au format spécifié.
Surcharges
| Nom | Description |
|---|---|
| Save(String, ImageCodecInfo, EncoderParameters) |
Enregistre ce Image paramètre dans le fichier spécifié, avec les paramètres d’encodeur et d’encodeur d’image spécifiés. |
| Save(Stream, ImageCodecInfo, EncoderParameters) |
Enregistre cette image dans le flux spécifié, avec les paramètres d’encodeur et d’encodeur d’image spécifiés. |
| Save(String, ImageFormat) |
Enregistre ce Image paramètre dans le fichier spécifié au format spécifié. |
| Save(Stream, ImageFormat) |
Enregistre cette image dans le flux spécifié au format spécifié. |
| Save(String) |
Enregistre cette opération Image dans le fichier ou le flux spécifié. |
Save(String, ImageCodecInfo, EncoderParameters)
- Source:
- Image.cs
- Source:
- Image.cs
- Source:
- Image.cs
- Source:
- Image.cs
- Source:
- Image.cs
- Source:
- Image.cs
- Source:
- Image.cs
- Source:
- Image.cs
Enregistre ce Image paramètre dans le fichier spécifié, avec les paramètres d’encodeur et d’encodeur d’image spécifiés.
public:
void Save(System::String ^ filename, System::Drawing::Imaging::ImageCodecInfo ^ encoder, System::Drawing::Imaging::EncoderParameters ^ encoderParams);
public void Save(string filename, System.Drawing.Imaging.ImageCodecInfo encoder, System.Drawing.Imaging.EncoderParameters? encoderParams);
public void Save(string filename, System.Drawing.Imaging.ImageCodecInfo encoder, System.Drawing.Imaging.EncoderParameters encoderParams);
member this.Save : string * System.Drawing.Imaging.ImageCodecInfo * System.Drawing.Imaging.EncoderParameters -> unit
Public Sub Save (filename As String, encoder As ImageCodecInfo, encoderParams As EncoderParameters)
Paramètres
- encoder
- ImageCodecInfo
Pour ImageCodecInfo cela Image.
- encoderParams
- EncoderParameters
À EncoderParameters utiliser pour cela Image.
Exceptions
filename ou encoder est null.
L’image a été enregistrée avec le format d’image incorrect.
- ou -
L’image a été enregistrée dans le même fichier à partir duquel elle a été créée.
Exemples
L’exemple suivant crée un Bitmap objet à partir d’un fichier BMP. Le code enregistre la bitmap dans trois fichiers JPEG, chacun avec un niveau de qualité différent.
#using <System.Drawing.dll>
using namespace System;
using namespace System::Drawing;
using namespace System::Drawing::Imaging;
static ImageCodecInfo^ GetEncoderInfo( ImageFormat^ format );
int main()
{
Bitmap^ myBitmap;
ImageCodecInfo^ myImageCodecInfo;
Encoder^ myEncoder;
EncoderParameter^ myEncoderParameter;
EncoderParameters^ myEncoderParameters;
// Create a Bitmap object based on a BMP file.
myBitmap = gcnew Bitmap( "Shapes.bmp" );
// Get an ImageCodecInfo object that represents the JPEG codec.
myImageCodecInfo = GetEncoderInfo( ImageFormat->Jpeg );
// Create an Encoder object based on the GUID
// for the Quality parameter category.
myEncoder = Encoder::Quality;
// Create an EncoderParameters object.
// An EncoderParameters object has an array of EncoderParameter
// objects. In this case, there is only one
// EncoderParameter object in the array.
myEncoderParameters = gcnew EncoderParameters( 1 );
// Save the bitmap as a JPEG file with quality level 25.
myEncoderParameter = gcnew EncoderParameter( myEncoder,__int64(25) );
myEncoderParameters->Param[ 0 ] = myEncoderParameter;
myBitmap->Save( "Shapes025.jpg", myImageCodecInfo, myEncoderParameters );
// Save the bitmap as a JPEG file with quality level 50.
myEncoderParameter = gcnew EncoderParameter( myEncoder,__int64(50) );
myEncoderParameters->Param[ 0 ] = myEncoderParameter;
myBitmap->Save( "Shapes050.jpg", myImageCodecInfo, myEncoderParameters );
// Save the bitmap as a JPEG file with quality level 75.
myEncoderParameter = gcnew EncoderParameter( myEncoder,__int64(75) );
myEncoderParameters->Param[ 0 ] = myEncoderParameter;
myBitmap->Save( "Shapes075.jpg", myImageCodecInfo, myEncoderParameters );
}
static ImageCodecInfo^ GetEncoderInfo( ImageFormat^ format )
{
int j;
array<ImageCodecInfo^>^encoders;
encoders = ImageCodecInfo::GetImageEncoders();
for ( j = 0; j < encoders->Length; ++j )
{
if ( encoders[ j ]->FormatID == format->Guid)
return encoders[ j ];
}
return nullptr;
}
using System;
using System.Drawing;
using System.Drawing.Imaging;
class Example_SetJPEGQuality
{
public static void Main()
{
Bitmap myBitmap;
ImageCodecInfo myImageCodecInfo;
Encoder myEncoder;
EncoderParameter myEncoderParameter;
EncoderParameters myEncoderParameters;
// Create a Bitmap object based on a BMP file.
myBitmap = new Bitmap("Shapes.bmp");
// Get an ImageCodecInfo object that represents the JPEG codec.
myImageCodecInfo = GetEncoderInfo("image/jpeg");
// Create an Encoder object based on the GUID
// for the Quality parameter category.
myEncoder = Encoder.Quality;
// Create an EncoderParameters object.
// An EncoderParameters object has an array of EncoderParameter
// objects. In this case, there is only one
// EncoderParameter object in the array.
myEncoderParameters = new EncoderParameters(1);
// Save the bitmap as a JPEG file with quality level 25.
myEncoderParameter = new EncoderParameter(myEncoder, 25L);
myEncoderParameters.Param[0] = myEncoderParameter;
myBitmap.Save("Shapes025.jpg", myImageCodecInfo, myEncoderParameters);
// Save the bitmap as a JPEG file with quality level 50.
myEncoderParameter = new EncoderParameter(myEncoder, 50L);
myEncoderParameters.Param[0] = myEncoderParameter;
myBitmap.Save("Shapes050.jpg", myImageCodecInfo, myEncoderParameters);
// Save the bitmap as a JPEG file with quality level 75.
myEncoderParameter = new EncoderParameter(myEncoder, 75L);
myEncoderParameters.Param[0] = myEncoderParameter;
myBitmap.Save("Shapes075.jpg", myImageCodecInfo, myEncoderParameters);
}
private static ImageCodecInfo GetEncoderInfo(String mimeType)
{
int j;
ImageCodecInfo[] encoders;
encoders = ImageCodecInfo.GetImageEncoders();
for(j = 0; j < encoders.Length; ++j)
{
if(encoders[j].MimeType == mimeType)
return encoders[j];
}
return null;
}
}
Imports System.Drawing
Imports System.Drawing.Imaging
Class Example_SetJPEGQuality
Public Shared Sub Main()
Dim myBitmap As Bitmap
Dim myImageCodecInfo As ImageCodecInfo
Dim myEncoder As Encoder
Dim myEncoderParameter As EncoderParameter
Dim myEncoderParameters As EncoderParameters
' Create a Bitmap object based on a BMP file.
myBitmap = New Bitmap("Shapes.bmp")
' Get an ImageCodecInfo object that represents the JPEG codec.
myImageCodecInfo = GetEncoderInfo(ImageFormat.Jpeg)
' Create an Encoder object based on the GUID
' for the Quality parameter category.
myEncoder = Encoder.Quality
' Create an EncoderParameters object.
' An EncoderParameters object has an array of EncoderParameter
' objects. In this case, there is only one
' EncoderParameter object in the array.
myEncoderParameters = New EncoderParameters(1)
' Save the bitmap as a JPEG file with quality level 25.
myEncoderParameter = New EncoderParameter(myEncoder, CType(25L, Int32))
myEncoderParameters.Param(0) = myEncoderParameter
myBitmap.Save("Shapes025.jpg", myImageCodecInfo, myEncoderParameters)
' Save the bitmap as a JPEG file with quality level 50.
myEncoderParameter = New EncoderParameter(myEncoder, CType(50L, Int32))
myEncoderParameters.Param(0) = myEncoderParameter
myBitmap.Save("Shapes050.jpg", myImageCodecInfo, myEncoderParameters)
' Save the bitmap as a JPEG file with quality level 75.
myEncoderParameter = New EncoderParameter(myEncoder, CType(75L, Int32))
myEncoderParameters.Param(0) = myEncoderParameter
myBitmap.Save("Shapes075.jpg", myImageCodecInfo, myEncoderParameters)
End Sub
Private Shared Function GetEncoderInfo(ByVal format As ImageFormat) As ImageCodecInfo
Dim j As Integer
Dim encoders() As ImageCodecInfo
encoders = ImageCodecInfo.GetImageEncoders()
j = 0
While j < encoders.Length
If encoders(j).FormatID = format.Guid Then
Return encoders(j)
End If
j += 1
End While
Return Nothing
End Function 'GetEncoderInfo
End Class
Remarques
L’enregistrement de l’image dans le même fichier à partir duquel elle a été construite n’est pas autorisée et lève une exception.
Voir aussi
S’applique à
Save(Stream, ImageCodecInfo, EncoderParameters)
- Source:
- Image.cs
- Source:
- Image.cs
- Source:
- Image.cs
- Source:
- Image.cs
- Source:
- Image.cs
- Source:
- Image.cs
- Source:
- Image.cs
- Source:
- Image.cs
Enregistre cette image dans le flux spécifié, avec les paramètres d’encodeur et d’encodeur d’image spécifiés.
public:
void Save(System::IO::Stream ^ stream, System::Drawing::Imaging::ImageCodecInfo ^ encoder, System::Drawing::Imaging::EncoderParameters ^ encoderParams);
public void Save(System.IO.Stream stream, System.Drawing.Imaging.ImageCodecInfo encoder, System.Drawing.Imaging.EncoderParameters? encoderParams);
public void Save(System.IO.Stream stream, System.Drawing.Imaging.ImageCodecInfo encoder, System.Drawing.Imaging.EncoderParameters encoderParams);
member this.Save : System.IO.Stream * System.Drawing.Imaging.ImageCodecInfo * System.Drawing.Imaging.EncoderParameters -> unit
Public Sub Save (stream As Stream, encoder As ImageCodecInfo, encoderParams As EncoderParameters)
Paramètres
- encoder
- ImageCodecInfo
Pour ImageCodecInfo cela Image.
- encoderParams
- EncoderParameters
Qui EncoderParameters spécifie les paramètres utilisés par l’encodeur d’image.
Exceptions
stream a la valeur null.
L’image a été enregistrée avec le format d’image incorrect.
Remarques
N’enregistrez pas d’image dans le même flux utilisé pour construire l’image. Cela peut endommager le flux.
L’image doit être enregistrée dans le flux à un décalage de zéro. Si des données supplémentaires ont été écrites dans le flux avant d’enregistrer l’image, les données d’image dans le flux sont endommagées.
S’applique à
Save(String, ImageFormat)
- Source:
- Image.cs
- Source:
- Image.cs
- Source:
- Image.cs
- Source:
- Image.cs
- Source:
- Image.cs
- Source:
- Image.cs
- Source:
- Image.cs
- Source:
- Image.cs
Enregistre ce Image paramètre dans le fichier spécifié au format spécifié.
public:
void Save(System::String ^ filename, System::Drawing::Imaging::ImageFormat ^ format);
public void Save(string filename, System.Drawing.Imaging.ImageFormat format);
member this.Save : string * System.Drawing.Imaging.ImageFormat -> unit
Public Sub Save (filename As String, format As ImageFormat)
Paramètres
- format
- ImageFormat
Pour ImageFormat cela Image.
Exceptions
filename ou format est null.
L’image a été enregistrée avec le format d’image incorrect.
- ou -
L’image a été enregistrée dans le même fichier à partir duquel elle a été créée.
Exemples
L’exemple de code suivant montre comment construire une bitmap à partir d’un type et comment utiliser la Save méthode. Pour exécuter cet exemple, collez le code dans un Windows Form. Gérer l’événement du Paint formulaire et appeler la ConstructFromResourceSaveAsGif méthode, en passant e en tant que PaintEventArgs
private:
void ConstructFromResourceSaveAsGif(PaintEventArgs^ e)
{
// Construct a bitmap from the button image resource.
Bitmap^ bmp1 = gcnew Bitmap(Button::typeid, "Button.bmp");
String^ savePath =
Environment::GetEnvironmentVariable("TEMP") + "\\Button.bmp";
try
{
// Save the image as a GIF.
bmp1->Save(savePath, System::Drawing::Imaging::ImageFormat::Gif);
}
catch (IOException^)
{
// Carry on regardless
}
// Construct a new image from the GIF file.
Bitmap^ bmp2 = nullptr;
if (File::Exists(savePath))
{
bmp2 = gcnew Bitmap(savePath);
}
// Draw the two images.
e->Graphics->DrawImage(bmp1, Point(10, 10));
// If bmp1 did not save to disk, bmp2 may be null
if (bmp2 != nullptr)
{
e->Graphics->DrawImage(bmp2, Point(10, 40));
}
// Dispose of the image files.
delete bmp1;
if (bmp2 != nullptr)
{
delete bmp2;
}
}
private void ConstructFromResourceSaveAsGif(PaintEventArgs e)
{
// Construct a bitmap from the button image resource.
Bitmap bmp1 = new Bitmap(typeof(Button), "Button.bmp");
// Save the image as a GIF.
bmp1.Save("c:\\button.gif", System.Drawing.Imaging.ImageFormat.Gif);
// Construct a new image from the GIF file.
Bitmap bmp2 = new Bitmap("c:\\button.gif");
// Draw the two images.
e.Graphics.DrawImage(bmp1, new Point(10, 10));
e.Graphics.DrawImage(bmp2, new Point(10, 40));
// Dispose of the image files.
bmp1.Dispose();
bmp2.Dispose();
}
Private Sub ConstructFromResourceSaveAsGif(ByVal e As PaintEventArgs)
' Construct a bitmap from the button image resource.
Dim bmp1 As New Bitmap(GetType(Button), "Button.bmp")
' Save the image as a GIF.
bmp1.Save("c:\button.gif", System.Drawing.Imaging.ImageFormat.Gif)
' Construct a new image from the GIF file.
Dim bmp2 As New Bitmap("c:\button.gif")
' Draw the two images.
e.Graphics.DrawImage(bmp1, New Point(10, 10))
e.Graphics.DrawImage(bmp2, New Point(10, 40))
' Dispose of the image files.
bmp1.Dispose()
bmp2.Dispose()
End Sub
S’applique à
Save(Stream, ImageFormat)
- Source:
- Image.cs
- Source:
- Image.cs
- Source:
- Image.cs
- Source:
- Image.cs
- Source:
- Image.cs
- Source:
- Image.cs
- Source:
- Image.cs
- Source:
- Image.cs
Enregistre cette image dans le flux spécifié au format spécifié.
public:
void Save(System::IO::Stream ^ stream, System::Drawing::Imaging::ImageFormat ^ format);
public void Save(System.IO.Stream stream, System.Drawing.Imaging.ImageFormat format);
member this.Save : System.IO.Stream * System.Drawing.Imaging.ImageFormat -> unit
Public Sub Save (stream As Stream, format As ImageFormat)
Paramètres
- format
- ImageFormat
Qui ImageFormat spécifie le format de l’image enregistrée.
Exceptions
stream ou format est null.
L’image a été enregistrée avec le format d’image incorrect.
Remarques
Vous devez éviter d’enregistrer une image dans le même flux utilisé pour le construire. Cela peut endommager le flux.
L’image doit être enregistrée dans le flux à un décalage de zéro. Si des données supplémentaires ont été écrites dans le flux avant d’enregistrer l’image, les données d’image dans le flux sont endommagées.
S’applique à
Save(String)
- Source:
- Image.cs
- Source:
- Image.cs
- Source:
- Image.cs
- Source:
- Image.cs
- Source:
- Image.cs
- Source:
- Image.cs
- Source:
- Image.cs
- Source:
- Image.cs
Enregistre cette opération Image dans le fichier ou le flux spécifié.
public:
void Save(System::String ^ filename);
public void Save(string filename);
member this.Save : string -> unit
Public Sub Save (filename As String)
Paramètres
Exceptions
filename a la valeur null.
L’image a été enregistrée avec le format d’image incorrect.
- ou -
L’image a été enregistrée dans le même fichier à partir duquel elle a été créée.
Exemples
L’exemple de code suivant montre comment appeler la Save méthode. Cet exemple est conçu pour être utilisé avec Windows Forms. Créez un formulaire qui contient un bouton nommé Button5. Collez le code dans le formulaire et associez la méthode à l’événement du Click bouton.
private:
void Button5_Click( System::Object^ /*sender*/, System::EventArgs^ /*e*/ )
{
try
{
if ( image1 != nullptr )
{
image1->Save( "c:\\myBitmap.bmp" );
Button5->Text = "Saved file.";
}
}
catch ( Exception^ )
{
MessageBox::Show( "There was a problem saving the file."
"Check the file permissions." );
}
}
private void Button5_Click(System.Object sender, System.EventArgs e)
{
try
{
if (image1 != null)
{
image1.Save("c:\\myBitmap.bmp");
Button5.Text = "Saved file.";
}
}
catch(Exception)
{
MessageBox.Show("There was a problem saving the file." +
"Check the file permissions.");
}
}
Private Sub Button5_Click(ByVal sender As System.Object, _
ByVal e As System.EventArgs) Handles Button5.Click
Try
If (image1 IsNot Nothing) Then
image1.Save("c:\myBitmap.bmp")
Button5.Text = "Saved file."
End If
Catch ex As Exception
MessageBox.Show("There was a problem saving the file." _
& "Check the file permissions.")
End Try
End Sub
Remarques
Si aucun encodeur n’existe pour le format de fichier de l’image, l’encodeur PNG (Portable Network Graphics) est utilisé. Lorsque vous utilisez la Save méthode pour enregistrer une image graphique en tant que fichier WMF (Windows Metafile Format) ou EmF (Enhanced Metafile Format), le fichier résultant est enregistré en tant que fichier PNG (Portable Network Graphics). Ce comportement se produit, car le composant GDI+ du .NET Framework n’a pas d’encodeur que vous pouvez utiliser pour enregistrer des fichiers en tant que fichiers .wmf ou .emf.
L’enregistrement de l’image dans le même fichier à partir duquel elle a été construite n’est pas autorisée et lève une exception.