Aracılığıyla paylaş


Image.Save Yöntem

Tanım

Bu görüntüyü belirtilen biçimde belirtilen akışa kaydeder.

Aşırı Yüklemeler

Save(String, ImageCodecInfo, EncoderParameters)

Bunu Image , belirtilen kodlayıcı ve görüntü kodlayıcı parametreleriyle belirtilen dosyaya kaydeder.

Save(Stream, ImageCodecInfo, EncoderParameters)

Bu görüntüyü belirtilen kodlayıcı ve görüntü kodlayıcı parametreleriyle belirtilen akışa kaydeder.

Save(String, ImageFormat)

Bunu Image belirtilen biçimde belirtilen dosyaya kaydeder.

Save(Stream, ImageFormat)

Bu görüntüyü belirtilen biçimde belirtilen akışa kaydeder.

Save(String)

Bunu Image belirtilen dosyaya veya akışa kaydeder.

Save(String, ImageCodecInfo, EncoderParameters)

Kaynak:
Image.cs
Kaynak:
Image.cs
Kaynak:
Image.cs

Bunu Image , belirtilen kodlayıcı ve görüntü kodlayıcı parametreleriyle belirtilen dosyaya kaydeder.

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)

Parametreler

filename
String

Bu Imageöğesinin kaydedildiği dosyanın adını içeren dize.

encoder
ImageCodecInfo

ImageCodecInfo bunun Imageiçin .

encoderParams
EncoderParameters

Bu Imageiçin kullanılacak bir EncoderParameters .

Özel durumlar

filename veya encoder şeklindedir null.

Görüntü yanlış görüntü biçimiyle kaydedildi.

-veya-

Görüntü, oluşturulduğu dosyaya kaydedildi.

Örnekler

Aşağıdaki örnek bir Bitmap BMP dosyasından bir nesne oluşturur. Kod, bit eşlemi her biri farklı bir kalite düzeyine sahip üç JPEG dosyaya kaydeder.

#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

Açıklamalar

Görüntünün oluşturulduğu dosyaya kaydedilmesine izin verilmez ve özel durum oluşturur.

Ayrıca bkz.

Şunlara uygulanır

Save(Stream, ImageCodecInfo, EncoderParameters)

Kaynak:
Image.cs
Kaynak:
Image.cs
Kaynak:
Image.cs

Bu görüntüyü belirtilen kodlayıcı ve görüntü kodlayıcı parametreleriyle belirtilen akışa kaydeder.

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)

Parametreler

stream
Stream

Görüntünün Stream kaydedileceği yer.

encoder
ImageCodecInfo

ImageCodecInfo bunun Imageiçin .

encoderParams
EncoderParameters

EncoderParameters Görüntü kodlayıcı tarafından kullanılan parametreleri belirten bir.

Özel durumlar

stream, null değeridir.

Görüntü yanlış görüntü biçimiyle kaydedildi.

Açıklamalar

Görüntüyü oluşturmak için kullanılan akışa kaydetmeyin. Bunu yapmak akışa zarar verebilir.

Görüntünün sıfır uzaklığında akışa kaydedilmesi gerekir. Görüntüyü kaydetmeden önce akışa herhangi bir ek veri yazıldıysa, akıştaki görüntü verileri bozulur.

Şunlara uygulanır

Save(String, ImageFormat)

Kaynak:
Image.cs
Kaynak:
Image.cs
Kaynak:
Image.cs

Bunu Image belirtilen biçimde belirtilen dosyaya kaydeder.

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)

Parametreler

filename
String

Bu Imageöğesinin kaydedildiği dosyanın adını içeren dize.

format
ImageFormat

ImageFormat bunun Imageiçin .

Özel durumlar

filename veya format şeklindedir null.

Görüntü yanlış görüntü biçimiyle kaydedildi.

-veya-

Görüntü, oluşturulduğu dosyaya kaydedildi.

Örnekler

Aşağıdaki kod örneği, bir türden bit eşlem oluşturmayı ve yöntemini kullanmayı Save gösterir. Bu örneği çalıştırmak için kodu bir Windows Formuna yapıştırın. Formun Paint olayını işleyip yöntemini çağırın ConstructFromResourceSaveAsGif ve şu şekilde geçirin:ePaintEventArgs

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

Şunlara uygulanır

Save(Stream, ImageFormat)

Kaynak:
Image.cs
Kaynak:
Image.cs
Kaynak:
Image.cs

Bu görüntüyü belirtilen biçimde belirtilen akışa kaydeder.

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)

Parametreler

stream
Stream

Görüntünün Stream kaydedileceği yer.

format
ImageFormat

ImageFormat Kaydedilen görüntünün biçimini belirten bir.

Özel durumlar

stream veya format şeklindedir null.

Görüntü yanlış görüntü biçimiyle kaydedildi.

Açıklamalar

Bir görüntüyü oluşturmak için kullanılan akışa kaydetmekten kaçınmanız gerekir. Bunu yapmak akışa zarar verebilir.

Görüntünün sıfır uzaklığında akışa kaydedilmesi gerekir. Görüntüyü kaydetmeden önce akışa herhangi bir ek veri yazıldıysa, akıştaki görüntü verileri bozulur.

Şunlara uygulanır

Save(String)

Kaynak:
Image.cs
Kaynak:
Image.cs
Kaynak:
Image.cs

Bunu Image belirtilen dosyaya veya akışa kaydeder.

public:
 void Save(System::String ^ filename);
public void Save (string filename);
member this.Save : string -> unit
Public Sub Save (filename As String)

Parametreler

filename
String

Bu Imageöğesinin kaydedildiği dosyanın adını içeren dize.

Özel durumlar

filename, null değeridir.

Görüntü yanlış görüntü biçimiyle kaydedildi.

-veya-

Görüntü, oluşturulduğu dosyaya kaydedildi.

Örnekler

Aşağıdaki kod örneği, yönteminin nasıl çağrılduğunu Save gösterir. Bu örnek, Windows Forms ile kullanılmak üzere tasarlanmıştır. adlı Button5düğmeyi içeren bir form İçerik Oluşturucu. Kodu forma yapıştırın ve yöntemini düğmenin Click olayıyla ilişkilendirin.

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

Açıklamalar

Görüntünün dosya biçimi için kodlayıcı yoksa Taşınabilir Ağ Grafikleri (PNG) kodlayıcı kullanılır. Bir grafik görüntüsünü Windows Meta Dosyası Biçimi (WMF) veya Gelişmiş Meta Dosyası Biçimi (EMF) dosyası olarak kaydetmek için yöntemini kullandığınızda Save , sonuçta elde edilen dosya Taşınabilir Ağ Grafikleri (PNG) dosyası olarak kaydedilir. Bu davranış, .NET Framework GDI+ bileşeninin dosyaları .wmf veya .emf dosyaları olarak kaydetmek için kullanabileceğiniz bir kodlayıcıya sahip olmaması nedeniyle oluşur.

Görüntünün oluşturulduğu dosyaya kaydedilmesine izin verilmez ve özel durum oluşturur.

Şunlara uygulanır