Saltar al contenido

¿Cuál es la diferencia entre System.Drawing.Image y System.Drawing.Bitmap?

Solución:

Bitmap hereda de Image:

System.Drawing.Bitmap : System.Drawing.Image
{ }

Image es una clase abstracta, esto significa:

El modificador abstracto indica que la cosa que se está modificando tiene una implementación incompleta o faltante.

Bitmap es una clase sellada, esto significa:

Cuando se aplica a una clase, el modificador sellado evita que otras clases hereden de él.

Vea lo siguiente:

Bitmap bmp = new Bitmap(filename); // Works
Image img = new Image(); // The compiler says: "Cannot access internal constructer 'Image' here.

Esto es porque Image no está diseñado para usarse de esta manera. Solo proporciona funcionalidad para el Bitmap clase.

Por lo tanto, use Bitmap cuando se trata de imágenes pixeladas, como jpeg, png, bmp, etc.

Si no espera ningún tipo específico de imagen en su método y los métodos de Image son suficientes, utilice el más general Image como tipo de parámetro. Este método aceptará otras clases heredadas de Image también, por ejemplo Metafile.

¿No estoy seguro de a qué te refieres con la diferencia?

System.Drawing.Image es la clase base para System.Drawing.Bitmap.

System.Drawing.Image también es una clase abstracta, por lo que no puede crear una instancia de ella. Tendrás que crear una instancia de System.Drawing.Bitmap solamente.

Image.FromFile, Image.BlahBlah … devuelve su instancia de Bitmap solamente.

Como dice claramente la documentación de MSDN sobre System.Drawing.Image:

Una clase base abstracta que proporciona funcionalidad para las clases descendientes de mapa de bits y metarchivo.

Entonces no puedes compararlos. los System.Drawing.Bitmap la clase es una implementación concreta del resumen System.Drawing.Image clase.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *