El ram se puede modelar como una matriz de palabras unidimensional, por lo que cualquier tipo de datos que cargue en la memoria estará más o menos organizado en parte / partes del ram.
Cuando se trata de imágenes, existe una gran diferencia entre lo que se guarda en el disco y lo que necesita para mostrar la imagen en general y, excepto para los tipos de imágenes en formato sin formato, lo que se guarda en el disco está en forma comprimida (con pérdida o sin pérdida).
Sin embargo, después de cargar los datos de la imagen del archivo y poder visualizarlos, la descompresión inicia y reconstruye la matriz de píxeles con algunos metadatos que describen cómo están organizados.
- Necesito saber cómo describir el cálculo del PageRank de punto fijo. ¿Alguien sabe algo al respecto?
- ¿Cómo combina ACM ICPC invertir en diversidad y mantener alta la barra de entrada?
- Cómo implementar consultas mínimas de rango bidimensional con una complejidad de O (1) por consulta
- Cómo calcular (n!) Mod p y nCr mod m, como se requiere en varias preguntas algorítmicas
- He resuelto unos 52 problemas en SPOJ. ¿Debería mudarme a Codeforces ahora?
Por ejemplo: imaginemos que estamos cargando una imagen de 800 * 600 colores que tiene transparencia y cada color se representa con un byte.
Se verá en la memoria así (o algo similar)
Dirección 000000: entero de 32 bits que representa el ancho = 800
Dirección 000001: entero de 32 bits que representa la altura = 600
Dirección 000002: número entero de 32 bits que representa el formato de los datos = un número que representa la secuencia de colores como “RGBA”
Dirección 000003: inicio de la matriz de píxeles y que contiene el color del primer píxel como entero de 32 bits que se puede ver como 4 bytes: primer byte = valor rojo, segundo byte = valor verde, tercer byte = valor azul, cuarto byte = valor de transparencia
.
.
Dirección 480003: final de la matriz de píxeles y que contiene el color del último píxel como entero de 32 bits que se puede ver como 4 bytes: primer byte = valor rojo, segundo byte = valor verde, tercer byte = valor azul, cuarto byte = valor de transparencia
así que en un lenguaje de programación necesitará mantener los píxeles en alguna variable como estos píxeles [800 * 600] y para acceder al color en el píxel con posición (x, y) accederá a píxeles [x + ancho * y] y Si solo necesita el valor rojo, deberá extraer el byte correspondiente del valor de color.