ventajas vectorial usos resoluciĆ³n procesamiento mapas mapa imagen graficacion formatos entre ejemplo diferencia desventajas c# .net image bitmap

c# - vectorial - procesamiento de mapas de bits graficacion



Imagen vs clase de mapa de bits (3)

Tengo problemas para entender las diferencias entre la clase de Image y la clase de Bitmap . Ahora, sé que el Bitmap hereda de la Image pero por lo que entiendo, ambos son muy similares. ¿Alguien puede arrojar algo de luz sobre esto, por favor?


Esta es una aclaración porque he visto cosas hechas en código que son honestamente confusas, creo que el siguiente ejemplo podría ayudar a otros.

Como otros han dicho antes - Bitmap hereda de la clase de imagen abstracta

Resumen efectivamente significa que no puede crear una instancia Nueva () de la misma.

Image imgBad1 = new Image(); // Bad - won''t compile Image imgBad2 = new Image(200,200); // Bad - won''t compile

Pero puedes hacer lo siguiente:

Image imgGood; // Not instantiated object! // Now you can do this imgGood = new Bitmap(200, 200);

Ahora puede usar imgGood como lo haría con el mismo objeto de mapa de bits si hubiera hecho lo siguiente:

Bitmap bmpGood = new Bitmap(200,200);

Lo bueno aquí es que puedes dibujar el objeto imgGood usando un objeto Graphics

Graphics gr = default(Graphics); gr = Graphics.FromImage(new Bitmap(1000, 1000)); Rectangle rect = new Rectangle(50, 50, imgGood.Width, imgGood.Height); // where to draw gr.DrawImage(imgGood, rect);

Aquí imgGood puede ser cualquier objeto de imagen: mapa de bits, metarchivo o cualquier otra cosa que herede de la imagen.


La clase Bitmap es una implementación de la clase Image. La clase de imagen es una clase abstracta;

La clase Bitmap contiene 12 constructores que construyen el objeto Bitmap a partir de diferentes parámetros. Puede construir el mapa de bits a partir de otro mapa de bits y la dirección de cadena de la imagen.

Vea más en esta muestra completa .


La imagen proporciona un acceso abstracto a una imagen arbitraria, define un conjunto de métodos que pueden aplicarse de forma lógica en cualquier implementación de la imagen. No está limitado a ningún formato de imagen o implementación particular. Bitmap es una implementación específica de la clase abstracta de imágenes que encapsula el objeto de mapa de bits GDI de Windows. Bitmap es solo una implementación específica de la clase abstracta de imagen que retransmite en el objeto de mapa de bits de GDI.

Podría, por ejemplo, crear su propia implementación para el resumen de la imagen, heredando de la clase Image e implementando los métodos abstractos.

De todos modos, esto es solo un simple uso básico de OOP, no debería ser difícil de atrapar.