Clase wxPixelData< Image, PixelFormat >
template<clase Image, clase PixelFormat = wxPixelFormatFor<Image>> clase wxPixelData< Image, PixelFormat >
Jerarquía:
Una plantilla de clase con implementaciones listas para usar para obtener acceso directo y eficiente a los datos internos de wxBitmap y wxImage a través de una interfaz estándar.
Es posible extender esta clase (interfaz) a otros tipos de contenido de imagen.
Implementado en Windows, GTK+ y macOS:
- wxNativePixelData: Clase para acceder a los datos internos de wxBitmap sin canal alfa (RGB).
- wxAlphaPixelData: Clase para acceder a los datos internos de wxBitmap con canal alfa (RGBA).
Implementado en todas partes:
- wxImagePixelData: Clase para acceder a los datos internos de wxImage con canal alfa (RGBA).
Nota wxMSW: el acceso eficiente sólo es posible a los bits de los llamados mapas de bits independientes del dispositivo (DIB) bajo MSW. Para asegurarse de que wxBitmap utiliza un DIB internamente y no un mapa de bits dependiente del dispositivo (DDB), es necesario pasar una profundidad explícita a su constructor, es decir, 24 o 32, ya que por defecto wxBitmap crea un DDB de la profundidad de la pantalla.
Ejemplo:
wxBitmap bmp(width, size, 24); // explicit depth important under MSW wxNativePixelData data(bmp); if ( !data ) { // ... raw access to bitmap data unavailable, do something else ... return; } if ( data.GetWidth() < 20 || data.GetHeight() < 20 ) { // ... complain: the bitmap it too small ... return; } wxNativePixelData::Iterator p(data); // we draw a (10, 10)-(20, 20) rect manually using the given r, g, b p.Offset(data, 10, 10); for ( int y = 0; y < 10; ++y ) { wxNativePixelData::Iterator rowStart = p; for ( int x = 0; x < 10; ++x, ++p ) { p.Red() = r; p.Green() = g; p.Blue() = b; } p = rowStart; p.OffsetY(data, 1); }
Clases
Tipos
ImageType()
template<class Image , class PixelFormat = wxPixelFormatFor<Image>> typedef Image wxPixelData< Image, PixelFormat >::ImageType
El tipo de la clase con la que estamos trabajando.
Funciones miembro
wxPixelData()
template<class Image , class PixelFormat = wxPixelFormatFor<Image>> wxPixelData< Image, PixelFormat >::wxPixelData(Image & image)
Crea un objeto de datos de píxeles que representa la imagen completa.
wxPixelData()
template<class Image , class PixelFormat = wxPixelFormatFor<Image>> wxPixelData< Image, PixelFormat >::wxPixelData( Image & i, const wxRect & rect )
Crea un objeto de datos de píxeles que representa el área de la imagen definida por rect.
wxPixelData()
template<class Image , class PixelFormat = wxPixelFormatFor<Image>> wxPixelData< Image, PixelFormat >::wxPixelData( Image & i, const wxPoint & pt, const wxSize & sz )
Crea un objeto de datos de píxeles que representa el área de la imagen definida por pt y sz.
GetHeight()
template<class Image , class PixelFormat = wxPixelFormatFor<Image>> int wxPixelData< Image, PixelFormat >::GetHeight() const
Devuelve la altura de la región que representa este wxPixelData.
GetOrigin()
template<class Image , class PixelFormat = wxPixelFormatFor<Image>> wxPoint wxPixelData< Image, PixelFormat >::GetOrigin() const
Devuelve el origen de la región rectangular que representa este wxPixelData.
GetPixels()
template<class Image , class PixelFormat = wxPixelFormatFor<Image>> Iterator wxPixelData< Image, PixelFormat >::GetPixels() const
Devuelve el iterador que apunta al origen de la imagen.
GetRowStride()
template<class Image , class PixelFormat = wxPixelFormatFor<Image>> int wxPixelData< Image, PixelFormat >::GetRowStride() const
Devuelve la distancia entre dos filas.
GetSize()
template<class Image , class PixelFormat = wxPixelFormatFor<Image>> wxSize wxPixelData< Image, PixelFormat >::GetSize() const
Devuelve el área que este wxPixelData representa en la imagen.
GetWidth()
template<class Image , class PixelFormat = wxPixelFormatFor<Image>> int wxPixelData< Image, PixelFormat >::GetWidth() const
Devuelve el ancho de la región que representa este wxPixelData.
Operadores
operator bool()
template<class Image , class PixelFormat = wxPixelFormatFor<Image>> wxPixelData< Image, PixelFormat >::operator bool() const
Devuelve true si hemos podido acceder a los datos del mapa de bits con éxito.