¿Cuál es la diferencia entre un mapa de bits y una imagen de mapa de bits en WPF? ¿Dónde usaría cada uno (es decir, por qué usaría un mapa de bits en lugar de un mapa de bits?)Diferencia entre un mapa de bits y una imagen de mapa de bits en WPF
Respuesta
Debe utilizar la clase abstracta BitmapSource si necesita obtener los bits, o incluso ImageSource si solo desea dibujalo.
La implementación BitmapFrame es solo la naturaleza orientada a objetos de la implementación que se muestra. Realmente no debería tener ninguna necesidad de distinguir entre las implementaciones. BitmapFrames puede contener un poco de información adicional (metadatos), pero por lo general solo le importaría una aplicación de imágenes.
Se dará cuenta de estas otras clases que heredan de BitmapSource:
- BitmapFrame
- BitmapImage
- CachedBitmap
- ColorConvertedBitmap
- CroppedBitmap
- FormatConvertedBitmap
- RenderTargetBitmap
- TransformedBitmap
- WriteableBitmap
Usted puede obtener una BitmapSource de un URI mediante la construcción de un objeto BitmapImage:
Uri uri = ...;
BitmapSource bmp = new BitmapImage(uri);
Console.WriteLine("{0}x{1}", bmp.PixelWIdth, bmp.PixelHeight);
El BitmapSource también podría provenir de un decodificador. En este caso, está utilizando indirectamente BitmapFrames.
Uri uri = ...;
BitmapDecoder dec = BitmapDecoder.Create(uri, BitmapCreateOptions.None, BitmapCacheOption.Default);
BitmapSource bmp = dec.Frames[0];
Console.WriteLine("{0}x{1}", bmp.PixelWIdth, bmp.PixelHeight);
BitmapFrame es una primitiva de bajo nivel para la manipulación de imágenes. Por lo general, se utiliza cuando desea codificar/decodificar algunas imágenes de un formato a otro.
BitmapImage es una abstracción de más alto nivel que tiene algunas propiedades claras de unión de datos (UriSource, etc.).
Si solo está mostrando imágenes y desea un ajuste fino BitmapImage es lo que necesita.
Si está realizando una manipulación de imágenes de bajo nivel, necesitará BitmapFrame.
Sé que esta es una pregunta antigua, pero la respuesta aceptada es incompleta (no sugerir que mi respuesta esté completa tampoco) y mi adición puede ayudar a alguien en alguna parte.
La razón (aunque la única razón) utilizo un BitmapFrame es cuando accedo a los cuadros individuales de una imagen TIFF de múltiples enmarcado utilizando la clase de TiffBitmapDecoder
. Por ejemplo,
TiffBitmapDecoder decoder = new TiffBitmapDecoder(
new Uri(filename),
BitmapCreateOptions.None,
BitmapCacheOption.None);
for (int frameIndex = 0; frameIndex < decoder.Frames.Count; frameIndex++)
{
BitmapFrame frame = decoder.Frames[frameIndex];
// Do something with the frame
// (it inherits from BitmapSource, so the options are wide open)
}
- 1. ¿Cuál es la diferencia entre Bitmap.Clone() y el nuevo mapa de bits (mapa de bits)?
- 2. Descargar imagen y crear mapa de bits
- 3. WPF Funcionamiento del mapa de bits
- 4. Imagen vs clase de mapa de bits
- 5. diferencia entre métodos para escalar un mapa de bits
- 6. Trabajar con mapa de bits en WPF
- 7. Conversión de mapa de bits: crear un mapa de bits que excluya los lados transparentes del mapa de bits transparente
- 8. Cómo convertir mapa de bits a imagen
- 9. Cargar Jpg/Gif/Mapa de bits y convertir a mapa de bits
- 10. Cambiar la opacidad de una imagen de mapa de bits
- 11. Preservar los valores de mapa de bits al crear un nuevo mapa de bits desde System.Drawing.Image
- 12. Convirtiendo un mapa de bits a monocromo
- 13. Texto central en un mapa de bits
- 14. Recortar mapa de bits sin leer todo el mapa de bits primero
- 15. Redimensionar proporcionalmente un mapa de bits
- 16. Renderice un control WPF "no visible" a una imagen de mapa de bits
- 17. ¿Cómo se recorta el mapa de bits como una imagen?
- 18. imagen de conversión a mapa de bits en android
- 19. Cómo genrate una máscara de bits en blanco y negro de un mapa de bits de 32 bits
- 20. Obtener ImageSource de mapa de bits?
- 21. Convirtiendo Imagen a mapa de bits se vuelve negro
- 22. convertir imagen de recursos dibujables en mapa de bits
- 23. Cómo desenfocar un mapa de bits (Android)?
- 24. Asignar imagen de mapa de bits de Resources.resx a Image.Source?
- 25. Imprimir un mapa de bits WPFImage
- 26. ¿Cómo limpiar un mapa de bits?
- 27. colocar un mapa de bits como fondo de una vista
- 28. TextRenderer.DrawText en mapa de bits vs OnPaintBackground
- 29. Tamaño de imagen de mapa de bits de Android
- 30. Cambiar el tamaño de la imagen de mapa de bits
¿Cómo se usa una ImageSource? ¿Cómo se carga un BitmapSource con un Uri? –