Bitmap Constructores
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
Inicializa una nueva instancia de la clase Bitmap.
Sobrecargas
Bitmap(Image) |
Inicializa una nueva instancia de la clase Bitmap a partir de la imagen especificada existente. |
Bitmap(Stream) |
Inicializa una nueva instancia de la clase Bitmap a partir del flujo de datos especificado. |
Bitmap(String) |
Inicializa una nueva instancia de la clase Bitmap a partir del archivo especificado. |
Bitmap(Image, Size) |
Inicializa una nueva instancia de la clase Bitmap a partir de la imagen existente especificada, escalada al tamaño especificado. |
Bitmap(Int32, Int32) |
Inicializa una nueva instancia de la clase Bitmap con el tamaño especificado. |
Bitmap(Stream, Boolean) |
Inicializa una nueva instancia de la clase Bitmap a partir del flujo de datos especificado. |
Bitmap(String, Boolean) |
Inicializa una nueva instancia de la clase Bitmap a partir del archivo especificado. |
Bitmap(Type, String) |
Inicializa una nueva instancia de la clase Bitmap a partir de un recurso especificado. |
Bitmap(Image, Int32, Int32) |
Inicializa una nueva instancia de la clase Bitmap a partir de la imagen existente especificada, escalada al tamaño especificado. |
Bitmap(Int32, Int32, Graphics) |
Inicializa una nueva instancia de la clase Bitmap con el tamaño especificado y la resolución del objeto Graphics especificado. |
Bitmap(Int32, Int32, PixelFormat) |
Inicializa una nueva instancia de la clase Bitmap con el tamaño y el formato especificados. |
Bitmap(Int32, Int32, Int32, PixelFormat, IntPtr) |
Inicializa una nueva instancia de la clase Bitmap con el tamaño, el formato de píxel y los datos de píxel especificados. |
Bitmap(Image)
- Source:
- Bitmap.cs
- Source:
- Bitmap.cs
- Source:
- Bitmap.cs
Inicializa una nueva instancia de la clase Bitmap a partir de la imagen especificada existente.
public:
Bitmap(System::Drawing::Image ^ original);
public Bitmap (System.Drawing.Image original);
new System.Drawing.Bitmap : System.Drawing.Image -> System.Drawing.Bitmap
Public Sub New (original As Image)
Parámetros
Se aplica a
Bitmap(Stream)
- Source:
- Bitmap.cs
- Source:
- Bitmap.cs
- Source:
- Bitmap.cs
Inicializa una nueva instancia de la clase Bitmap a partir del flujo de datos especificado.
public:
Bitmap(System::IO::Stream ^ stream);
public Bitmap (System.IO.Stream stream);
new System.Drawing.Bitmap : System.IO.Stream -> System.Drawing.Bitmap
Public Sub New (stream As Stream)
Parámetros
- stream
- Stream
El flujo de datos que se usa para cargar la imagen.
Excepciones
stream
no contiene datos de imagen o es null
.
o bien
stream
contiene un archivo de imagen PNG con una única dimensión superior a 65 535 píxeles.
Ejemplos
En el ejemplo de código siguiente se muestra cómo cargar un mapa de bits desde una secuencia.
Este ejemplo está diseñado para usarse con Windows Forms. Create un formulario que contiene un PictureBox objeto denominado PictureBox1
. Pegue el código en el formulario y llame al InitializeStreamBitmap
método desde el constructor o Load el método de control de eventos del formulario.
void InitializeStreamBitmap()
{
try
{
System::Net::WebRequest^ request = System::Net::WebRequest::Create( "http://www.microsoft.com//h/en-us/r/ms_masthead_ltr.gif" );
System::Net::WebResponse^ response = request->GetResponse();
System::IO::Stream^ responseStream = response->GetResponseStream();
Bitmap^ bitmap2 = gcnew Bitmap( responseStream );
PictureBox1->Image = bitmap2;
}
catch ( System::Net::WebException^ )
{
MessageBox::Show( "There was an error opening the image file."
"Check the URL" );
}
}
private void InitializeStreamBitmap()
{
try
{
System.Net.WebRequest request =
System.Net.WebRequest.Create(
"http://www.microsoft.com//h/en-us/r/ms_masthead_ltr.gif");
System.Net.WebResponse response = request.GetResponse();
System.IO.Stream responseStream =
response.GetResponseStream();
Bitmap bitmap2 = new Bitmap(responseStream);
PictureBox1.Image = bitmap2;
}
catch(System.Net.WebException)
{
MessageBox.Show("There was an error opening the image file."
+ "Check the URL");
}
}
Private Sub InitializeStreamBitmap()
Try
Dim request As System.Net.WebRequest = _
System.Net.WebRequest.Create( _
"http://www.microsoft.com//h/en-us/r/ms_masthead_ltr.gif")
Dim response As System.Net.WebResponse = request.GetResponse()
Dim responseStream As System.IO.Stream = response.GetResponseStream()
Dim bitmap2 As New Bitmap(responseStream)
PictureBox1.Image = bitmap2
Catch ex As System.Net.WebException
MessageBox.Show("There was an error opening the image file. Check the URL")
End Try
End Sub
Comentarios
Debe mantener abierta la secuencia durante la vigencia de Bitmap.
Debido a una limitación del descodificador GDI+, se produce una System.ArgumentException excepción si crea un mapa de bits a partir de un archivo de imagen de .png con una sola dimensión superior a 65 535 píxeles.
Consulte también
Se aplica a
Bitmap(String)
- Source:
- Bitmap.cs
- Source:
- Bitmap.cs
- Source:
- Bitmap.cs
Inicializa una nueva instancia de la clase Bitmap a partir del archivo especificado.
public:
Bitmap(System::String ^ filename);
public Bitmap (string filename);
new System.Drawing.Bitmap : string -> System.Drawing.Bitmap
Public Sub New (filename As String)
Parámetros
- filename
- String
Nombre y ruta de acceso al archivo de mapa de bits.
Excepciones
No se encontró el archivo especificado.
Comentarios
El nombre de archivo y la ruta de acceso pueden ser relativos a la aplicación o a una ruta de acceso absoluta. Use este constructor para abrir imágenes con los siguientes formatos de archivo: BMP, GIF, EXIF, JPG, PNG y TIFF. Para obtener más información sobre los formatos admitidos, vea Tipos de mapas de bits. El archivo permanece bloqueado hasta Bitmap que se elimina .
Consulte también
Se aplica a
Bitmap(Image, Size)
- Source:
- Bitmap.cs
- Source:
- Bitmap.cs
- Source:
- Bitmap.cs
Inicializa una nueva instancia de la clase Bitmap a partir de la imagen existente especificada, escalada al tamaño especificado.
public:
Bitmap(System::Drawing::Image ^ original, System::Drawing::Size newSize);
public Bitmap (System.Drawing.Image original, System.Drawing.Size newSize);
new System.Drawing.Bitmap : System.Drawing.Image * System.Drawing.Size -> System.Drawing.Bitmap
Public Sub New (original As Image, newSize As Size)
Parámetros
Excepciones
Error en la operación.
Se aplica a
Bitmap(Int32, Int32)
- Source:
- Bitmap.cs
- Source:
- Bitmap.cs
- Source:
- Bitmap.cs
Inicializa una nueva instancia de la clase Bitmap con el tamaño especificado.
public:
Bitmap(int width, int height);
public Bitmap (int width, int height);
new System.Drawing.Bitmap : int * int -> System.Drawing.Bitmap
Public Sub New (width As Integer, height As Integer)
Parámetros
Excepciones
Error en la operación.
Comentarios
Este constructor crea un Bitmap objeto con un PixelFormat valor de enumeración de Format32bppArgb.
Se aplica a
Bitmap(Stream, Boolean)
- Source:
- Bitmap.cs
- Source:
- Bitmap.cs
- Source:
- Bitmap.cs
Inicializa una nueva instancia de la clase Bitmap a partir del flujo de datos especificado.
public:
Bitmap(System::IO::Stream ^ stream, bool useIcm);
public Bitmap (System.IO.Stream stream, bool useIcm);
new System.Drawing.Bitmap : System.IO.Stream * bool -> System.Drawing.Bitmap
Public Sub New (stream As Stream, useIcm As Boolean)
Parámetros
- stream
- Stream
El flujo de datos que se usa para cargar la imagen.
- useIcm
- Boolean
true
para aplicar la corrección de color en este objeto Bitmap; de lo contrario, false
.
Excepciones
stream
no contiene datos de imagen o es null
.
o bien
stream
contiene un archivo de imagen PNG con una única dimensión superior a 65 535 píxeles.
Comentarios
Debe mantener abierta la secuencia durante la vigencia de Bitmap.
Debido a una limitación del descodificador GDI+, se produce una System.ArgumentException excepción si crea un mapa de bits a partir de un archivo de imagen de .png con una sola dimensión superior a 65 535 píxeles.
Consulte también
Se aplica a
Bitmap(String, Boolean)
- Source:
- Bitmap.cs
- Source:
- Bitmap.cs
- Source:
- Bitmap.cs
Inicializa una nueva instancia de la clase Bitmap a partir del archivo especificado.
public:
Bitmap(System::String ^ filename, bool useIcm);
public Bitmap (string filename, bool useIcm);
new System.Drawing.Bitmap : string * bool -> System.Drawing.Bitmap
Public Sub New (filename As String, useIcm As Boolean)
Parámetros
- filename
- String
Nombre del archivo de mapa de bits.
- useIcm
- Boolean
true
para aplicar la corrección de color en este objeto Bitmap; de lo contrario, false
.
Ejemplos
En el ejemplo de código siguiente se muestra cómo construir un nuevo mapa de bits a partir de un archivo. En el ejemplo se usan los GetPixel métodos y SetPixel para volver a colorear la imagen. También usa la PixelFormat propiedad .
Este ejemplo está diseñado para usarse con un formulario Windows Forms que contiene , LabelPictureBox y Button denominado Label1
, PictureBox1
y Button1
, respectivamente. Pegue el código en el formulario y asocie el Button1_Click
método al evento del Click botón.
private:
Bitmap^ image1;
void Button1_Click( System::Object^ /*sender*/, System::EventArgs^ /*e*/ )
{
try
{
// Retrieve the image.
image1 = gcnew Bitmap( "C:\\Documents and Settings\\All Users\\"
"Documents\\My Music\\music.bmp",true );
int x;
int y;
// Loop through the images pixels to reset color.
for ( x = 0; x < image1->Width; x++ )
{
for ( y = 0; y < image1->Height; y++ )
{
Color pixelColor = image1->GetPixel( x, y );
Color newColor = Color::FromArgb( pixelColor.R, 0, 0 );
image1->SetPixel( x, y, newColor );
}
}
// Set the PictureBox to display the image.
PictureBox1->Image = image1;
// Display the pixel format in Label1.
Label1->Text = String::Format( "Pixel format: {0}", image1->PixelFormat );
}
catch ( ArgumentException^ )
{
MessageBox::Show( "There was an error."
"Check the path to the image file." );
}
}
Bitmap image1;
private void Button1_Click(System.Object sender, System.EventArgs e)
{
try
{
// Retrieve the image.
image1 = new Bitmap(@"C:\Documents and Settings\All Users\"
+ @"Documents\My Music\music.bmp", true);
int x, y;
// Loop through the images pixels to reset color.
for(x=0; x<image1.Width; x++)
{
for(y=0; y<image1.Height; y++)
{
Color pixelColor = image1.GetPixel(x, y);
Color newColor = Color.FromArgb(pixelColor.R, 0, 0);
image1.SetPixel(x, y, newColor);
}
}
// Set the PictureBox to display the image.
PictureBox1.Image = image1;
// Display the pixel format in Label1.
Label1.Text = "Pixel format: "+image1.PixelFormat.ToString();
}
catch(ArgumentException)
{
MessageBox.Show("There was an error." +
"Check the path to the image file.");
}
}
Dim image1 As Bitmap
Private Sub Button1_Click(ByVal sender As System.Object, _
ByVal e As System.EventArgs) Handles Button1.Click
Try
' Retrieve the image.
image1 = New Bitmap( _
"C:\Documents and Settings\All Users\Documents\My Music\music.bmp", _
True)
Dim x, y As Integer
' Loop through the images pixels to reset color.
For x = 0 To image1.Width - 1
For y = 0 To image1.Height - 1
Dim pixelColor As Color = image1.GetPixel(x, y)
Dim newColor As Color = _
Color.FromArgb(pixelColor.R, 0, 0)
image1.SetPixel(x, y, newColor)
Next
Next
' Set the PictureBox to display the image.
PictureBox1.Image = image1
' Display the pixel format in Label1.
Label1.Text = "Pixel format: " + image1.PixelFormat.ToString()
Catch ex As ArgumentException
MessageBox.Show("There was an error." _
& "Check the path to the image file.")
End Try
End Sub
Comentarios
Use este constructor para abrir imágenes con los siguientes formatos de archivo: BMP, GIF, EXIF, JPG, PNG y TIFF. Para obtener más información sobre los formatos admitidos, vea Tipos de mapas de bits. El archivo permanece bloqueado hasta Bitmap que se elimina .
Consulte también
Se aplica a
Bitmap(Type, String)
- Source:
- Bitmap.cs
- Source:
- Bitmap.cs
- Source:
- Bitmap.cs
Inicializa una nueva instancia de la clase Bitmap a partir de un recurso especificado.
public:
Bitmap(Type ^ type, System::String ^ resource);
public Bitmap (Type type, string resource);
new System.Drawing.Bitmap : Type * string -> System.Drawing.Bitmap
Public Sub New (type As Type, resource As String)
Parámetros
- type
- Type
Clase utilizada para extraer el recurso.
- resource
- String
Nombre del recurso.
Ejemplos
En el ejemplo de código siguiente se muestra cómo construir un mapa de bits a partir de un tipo y cómo usar el Save método . Para ejecutar este ejemplo, pegue el código en un formulario Windows Forms. Controle el evento del Paint formulario y llame al ConstructFromResourceSaveAsGif
método , pasando e
como 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
Comentarios
Este constructor combina el espacio de nombres del tipo especificado con el nombre de cadena del recurso y busca una coincidencia en el manifiesto del ensamblado. Por ejemplo, puede pasar el Button tipo y Button.bmp
a este constructor y buscará un recurso denominado System.Windows.Forms.Button.bmp
.
Consulte también
Se aplica a
Bitmap(Image, Int32, Int32)
- Source:
- Bitmap.cs
- Source:
- Bitmap.cs
- Source:
- Bitmap.cs
Inicializa una nueva instancia de la clase Bitmap a partir de la imagen existente especificada, escalada al tamaño especificado.
public:
Bitmap(System::Drawing::Image ^ original, int width, int height);
public Bitmap (System.Drawing.Image original, int width, int height);
new System.Drawing.Bitmap : System.Drawing.Image * int * int -> System.Drawing.Bitmap
Public Sub New (original As Image, width As Integer, height As Integer)
Parámetros
Excepciones
Error en la operación.
Se aplica a
Bitmap(Int32, Int32, Graphics)
- Source:
- Bitmap.cs
- Source:
- Bitmap.cs
- Source:
- Bitmap.cs
public:
Bitmap(int width, int height, System::Drawing::Graphics ^ g);
public Bitmap (int width, int height, System.Drawing.Graphics g);
new System.Drawing.Bitmap : int * int * System.Drawing.Graphics -> System.Drawing.Bitmap
Public Sub New (width As Integer, height As Integer, g As Graphics)
Parámetros
Excepciones
g
es null
.
Comentarios
El nuevo Bitmap objeto que crea este método toma su resolución horizontal y vertical de las DpiX propiedades y DpiY de g
, respectivamente.
Se aplica a
Bitmap(Int32, Int32, PixelFormat)
- Source:
- Bitmap.cs
- Source:
- Bitmap.cs
- Source:
- Bitmap.cs
Inicializa una nueva instancia de la clase Bitmap con el tamaño y el formato especificados.
public:
Bitmap(int width, int height, System::Drawing::Imaging::PixelFormat format);
public Bitmap (int width, int height, System.Drawing.Imaging.PixelFormat format);
new System.Drawing.Bitmap : int * int * System.Drawing.Imaging.PixelFormat -> System.Drawing.Bitmap
Public Sub New (width As Integer, height As Integer, format As PixelFormat)
Parámetros
- format
- PixelFormat
El formato de píxeles para el nuevo Bitmap. Debe especificar un valor que comience por Format
.
Excepciones
Se especifica un valor PixelFormat cuyo nombre no empieza por Format. Por ejemplo, especificar Gdi producirá un ArgumentException, pero Format48bppRgb no.
Se aplica a
Bitmap(Int32, Int32, Int32, PixelFormat, IntPtr)
- Source:
- Bitmap.cs
- Source:
- Bitmap.cs
- Source:
- Bitmap.cs
Inicializa una nueva instancia de la clase Bitmap con el tamaño, el formato de píxel y los datos de píxel especificados.
public:
Bitmap(int width, int height, int stride, System::Drawing::Imaging::PixelFormat format, IntPtr scan0);
public Bitmap (int width, int height, int stride, System.Drawing.Imaging.PixelFormat format, IntPtr scan0);
new System.Drawing.Bitmap : int * int * int * System.Drawing.Imaging.PixelFormat * nativeint -> System.Drawing.Bitmap
Public Sub New (width As Integer, height As Integer, stride As Integer, format As PixelFormat, scan0 As IntPtr)
Parámetros
- stride
- Int32
Entero que especifica el desplazamiento de bytes entre el principio de una línea de exploración y la siguiente. Normalmente (aunque no necesariamente) es el número de bytes del formato de píxel (por ejemplo, 2 por 16 bits por píxel) multiplicado por el ancho del mapa de bits. El valor que se pase a este parámetro tiene que ser múltiplo de cuatro.
- format
- PixelFormat
El formato de píxeles para el nuevo Bitmap. Debe especificar un valor que comience por Format
.
- scan0
-
IntPtr
nativeint
Puntero a una matriz de bytes que contiene los datos de píxeles.
Excepciones
Se especifica un valor PixelFormat cuyo nombre no empieza por Format. Por ejemplo, especificar Gdi producirá un ArgumentException, pero Format48bppRgb no.
Ejemplos
En el ejemplo de código siguiente se muestra cómo usar el Bitmap(Int32, Int32, Int32, PixelFormat, IntPtr) constructor . Este ejemplo está diseñado para usarse con Windows Forms y requiere un PaintEventArgs parámetro , que es un parámetro del Paint evento .
private void BitmapConstructorEx(PaintEventArgs e)
{
// Create a bitmap.
Bitmap bmp = new Bitmap("c:\\fakePhoto.jpg");
// Retrieve the bitmap data from the bitmap.
System.Drawing.Imaging.BitmapData bmpData = bmp.LockBits(new Rectangle(0, 0, bmp.Width, bmp.Height),
ImageLockMode.ReadOnly, bmp.PixelFormat);
//Create a new bitmap.
Bitmap newBitmap = new Bitmap(200, 200, bmpData.Stride, bmp.PixelFormat, bmpData.Scan0);
bmp.UnlockBits(bmpData);
// Draw the new bitmap.
e.Graphics.DrawImage(newBitmap, 10, 10);
}
Private Sub BitmapConstructorEx(ByVal e As PaintEventArgs)
' Create a bitmap.
Dim bmp As New Bitmap("c:\fakePhoto.jpg")
' Retrieve the bitmap data from the bitmap.
Dim bmpData As System.Drawing.Imaging.BitmapData = bmp.LockBits(New Rectangle(0, 0, bmp.Width, bmp.Height), _
ImageLockMode.ReadOnly, bmp.PixelFormat)
'Create a new bitmap.
Dim newBitmap As New Bitmap(200, 200, bmpData.Stride, bmp.PixelFormat, bmpData.Scan0)
bmp.UnlockBits(bmpData)
' Draw the new bitmap.
e.Graphics.DrawImage(newBitmap, 10, 10)
End Sub
Comentarios
El autor de la llamada es responsable de asignar y liberar el bloque de memoria especificado por el scan0
parámetro . Sin embargo, la memoria no debe liberarse hasta que se libere la relación Bitmap .