[PSP-LUA]Texto Vertical (Girar 90 Grados)

Hola a todos, Estoy haciendo un shell en lua para nuestras psp´s, pero me he encontrado con un problemilla.
La shell la estoy haciendo de forma que la psp se tenga que coger de forma vertical (tipo iphone), pero no se [triston] como hacer para que el texto se gire 90 grados, se ponga de forma vertical como en este hilo http://www.elotrolado.net/hilo_psp-lua-se-puede_944882, lo he leido pero no se como convetir el texto en imagen, si alguien me puede ayudar le estaria muy agradecido. [carcajad]
Paint/photoshop/gimp o lo que se te ocurra escribes lo que quieras lo pones en vertical y lo guardas como imagen y luego cargas la imagen en lua :)
Aunque visto la afluencia de gente que le gusta escribir en vertical,( desconozco lua mas haya de lo basico ) podrias hacer un codigo que le pases un texto y lo escriba en vertical:
E
J
E
M
P
L
O.
y despues si puedes elejir una fuente .ttf o la que sea te creas/modificas una para que las letras salgan giradas 90º y luego publicar ese codigo.
Yo me refiero a que cuando se guire la psp y se ponga de forma vertical, el texto se lea en horizontal:
Imagen
Me da a mi que vas a tener que hacer printf en horizontal

Tienes que mantener la misma x pero reduciendo la y

No es tan dificil
ssssO escribió:Me da a mi que vas a tener que hacer printf en horizontal

Tienes que mantener la misma x pero reduciendo la y

No es tan dificil


Si, si es tan dificil, porque haciendo esto obtienes

E
S
T
O

y el lo que quiere es tener las letras giradas.

La mejor solución para mi es crear una fuente gráfica donde las posiciones en la imagen se correspondan con su código ASCII y despues simplemente ir leyendo la cadena que quieres escribir y dependiendo del código ASCII de cada caracter dibujamos una porción diferente de la imagen (es decir, la que corresponde a esa letra). Para tener las letras giradas simplemente dibujalas giradas en la imagen de la fuente.

Otra opción mucho mas facil pero muy limitada es crear imágenes en las que el texto aparezca girado creando una imagen por cada texto diferente que aparezca en la aplicación. Esta opción es inviable si lo que queremos es representar puntuaciones.
fran1987 creo que no me has entendido , Lo que me refiero es que hagas una funcion que le pases un texto que escriba esa cadena en vertical ( y al reves, depende para donde quieras girar la psp ) y que cojas un archivo de fuente y le gires las letras que al escribir en vertical+letras giradas = texto horizontal con la psp girada :)

Saludos.
Puede que esto te sirva XD

function rotate(image)
   local w = image:width()
   local h = image:height()
   local result = Image.createEmpty(h, w)
   for x=0,w-1 do
      for y=0,h-1 do
         result:pixel(h-y-1, x, image:pixel(x, y))
      end
   end
   return result
end

function printRotated(x, y, text, color, image, rotateIndex)
   rotateIndex = math.mod(rotateIndex, 4)
   local w = string.len(text)
   local result = Image.createEmpty(w * 8, 8)
   result:print(0, 0, text, color)
   if rotateIndex > 0 then
      rotateIndex = rotateIndex - 1
      for i=0,rotateIndex do
         result = rotate(result)
      end
   end
   image:blit(x, y, result)
end
6 respuestas