elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado:


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  Matrix de Pantalla
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Matrix de Pantalla  (Leído 2,442 veces)
bash

Desconectado Desconectado

Mensajes: 258



Ver Perfil
Matrix de Pantalla
« en: 9 Abril 2018, 23:16 pm »

Hola a tod@s!!
espero que todos anden bien por aqui, me gustaria que me den algun consejo acerca de algo que quiero crear les cuento mi necesidad a ver si me dan ese consejo.

tengo una pantalla de 320 X 480 (en pixeles todo) tengo un matrix (apuntador de c++) sin tamaño asignado supongamos que estoy usando c++ aunque la implementacion puede ser en otro lenguaje. y tengo una variable que maneja el tamaño de la fuente estare usando TTF aun no se que espacion tengo entre caracteres pero podria ser 2px y lo que me gustaria hacer es que esa matrix se le asignaran las columnas y las filas por la cantidad de caracteres especificos dependiendo del tamano de la fuente( se puede omitir el espacio en letras) la verdad ese el problema mas incomodo que he visto me gustaria por favor si es posible unas recomendaciones de ustedes, lo pongo en este foro por que no me gustaria si aparece alguien a limitarme a programadores de c++ o c, lo importante es como se podria implementar el algoritmo, la verdad no tengo nada aun hecho.

Gracias de antemano y disculpen las molestias!!


En línea

gracias por responder mis dudas
srWhiteSkull


Desconectado Desconectado

Mensajes: 444



Ver Perfil WWW
Re: Matrix de Pantalla
« Respuesta #1 en: 11 Abril 2018, 12:46 pm »

... me gustaria hacer es que esa matrix se le asignaran las columnas y las filas por la cantidad de caracteres especificos dependiendo del tamano de la fuente( se puede omitir el espacio en letras)...

Pues nada, es sencillo, con un cálculo podrías hacer eso.

numDeLetras
numPixelPorLetra
anchoPantallaEnPixels
maxLetrasEnPantalla=anchoPantallaEnPixels/numPixelPorLetra
numFilas=Redondea(numDeLetras/maxLetrasEnPantalla)+1

El problema que puede surgir y que complicaría la cosa es cuando se trabaja con fuentes que no mantienen el mismo ancho. Entonces requeriría, una función que lea desde un bucle letra por letra y vaya tomando los pixels de cada letra o espacio y una vez superado el ancho especificado en pixels incrementara la fila y pusiera el contador a cero y repitiera el proceso.

Si bien quisieramos que las palabras no quedaran cortadas tendríamos que guardar siempre la posición del último espacio encontrado en el conteo de pixels citado antes, letra por letra, y de llegar al ancho especificado cortar la cadena desde el último espacio y comenzar a contear desde ese último espacio y desde ahí comenzaría la siguiente fila.

Así como mejora se podría implementar en el método anterior, si quieres complicarlo aún más, es una vez creada la fila con sus caracteres incrementar los espacios entre palabras de forma equitativa con los pixeles sobrantes que no llegaron hasta el límite del ancho para que el texto no quede alineado a la izquierda o derecha y aproveche todo el ancho, o, simplemente usar esos pixeles para poner un margen automático al comienzo y final de la línea para dejar el texto centrado.

Espero que mis sugerencias te sirvan y suerte con lo que traes entre mano,
un saludo.


En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
codigo matrix « 1 2 »
Diseño Gráfico
Cobac 16 8,788 Último mensaje 8 Febrero 2004, 15:33 pm
por Cobac
ENTER THE MATRIX
Juegos y Consolas
Arcade 0 1,895 Último mensaje 1 Marzo 2004, 21:31 pm
por Arcade
The Matrix Online « 1 2 »
Juegos y Consolas
morp 10 4,407 Último mensaje 3 Abril 2005, 09:22 am
por Darky_ShadoW
Problemas con la pantalla al jugar Enter the Matrix
Juegos y Consolas
abgl_84 5 2,008 Último mensaje 14 Noviembre 2008, 21:28 pm
por abgl_84
La Matrix¡¡ « 1 2 3 »
Dudas Generales
dandy_hack 24 14,053 Último mensaje 23 Febrero 2012, 23:40 pm
por j__a__c__p
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines