Tengo problemas para entender las diferencias entre la clase Image
y la clase Bitmap
. Ahora, sé que el Bitmap
hereda del Image
pero por lo que entiendo ambos son muy similares. ¿Alguien puede arrojar algo de luz sobre esto, por favor?Imagen vs clase de mapa de bits
Respuesta
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.
Ver más in this comprehensive sample.
Creo que te refieres a una implementación de la imagen abstracta clase. – kenny
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, este es solo un simple uso básico de OOP, no debería ser difícil de atrapar.
Esto 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 imagen abstracta clase
Resumen significa, efectivamente, no se puede crear una instancia nueva() de él.
Image imgBad1 = new Image(); // Bad - won't compile
Image imgBad2 = new Image(200,200); // Bad - won't compile
Pero puede hacer lo siguiente:
Image imgGood; // Not instantiated object!
// Now you can do this
imgGood = new Bitmap(200, 200);
ahora se puede utilizar imgGood como lo haría el mismo objeto de mapa de bits si se hubiera hecho lo siguiente:
Bitmap bmpGood = new Bitmap(200,200);
El 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 imagen - Mapa de bits, metarchivo, o cualquier otra cosa que se hereda de imagen!
- 1. Descargar imagen y crear mapa de bits
- 2. Cómo convertir mapa de bits a imagen
- 3. TextRenderer.DrawText en mapa de bits vs OnPaintBackground
- 4. Diferencia entre un mapa de bits y una imagen de mapa de bits en WPF
- 5. Tamaño de imagen de mapa de bits de Android
- 6. Cambiar la opacidad de una imagen de mapa de bits
- 7. Asignar imagen de mapa de bits de Resources.resx a Image.Source?
- 8. Cambiar el tamaño de la imagen de mapa de bits
- 9. convertir imagen de recursos dibujables en mapa de bits
- 10. imagen de conversión a mapa de bits en android
- 11. ¿Cómo se recorta el mapa de bits como una imagen?
- 12. Convirtiendo Imagen a mapa de bits se vuelve negro
- 13. Conversión de mapa de bits: crear un mapa de bits que excluya los lados transparentes del mapa de bits transparente
- 14. Recortar mapa de bits sin leer todo el mapa de bits primero
- 15. Cargar Jpg/Gif/Mapa de bits y convertir a mapa de bits
- 16. Obtener ImageSource de mapa de bits?
- 17. Convertir la imagen en un cuadro de imagen en un mapa de bits
- 18. Preservar los valores de mapa de bits al crear un nuevo mapa de bits desde System.Drawing.Image
- 19. Cargar mapa de bits RGBA con PIL
- 20. WPF Funcionamiento del mapa de bits
- 21. ¿Cómo saber un tamaño de mapa de bits de InputStream antes de crear el mapa de bits?
- 22. obtener píxeles del mapa de bits
- 23. Convirtiendo un mapa de bits a monocromo
- 24. Redimensionar proporcionalmente un mapa de bits
- 25. presentación convertida en mapa de bits
- 26. ¿SVG admite la incorporación de imágenes de mapa de bits?
- 27. Dibujo de mapa de bits en mosaico con alineación inferior
- 28. captura de pantalla de mapa de bits a GLSurfaceView
- 29. Cómo guardar un mapa de bits después de configurar la interpolación con la clase de gráficos
- 30. ¿Cuál es la diferencia entre Bitmap.Clone() y el nuevo mapa de bits (mapa de bits)?
Transeúntes: hay una respuesta mejor aquí [aquí] (http://stackoverflow.com/a/19678330/3367144) – kdbanman
Posible duplicado de [Cuál es la diferencia entre System.Drawing.Image y System.Drawing.Bitmap ?] (http://stackoverflow.com/questions/19678195/what-is-the-difference-between-system-drawing-image-and-system-drawing-bitmap) –