Stratos: Punto de Encuentro de Desarrolladores

¡Bienvenido a Stratos!

Acceder

Foros





Escribir texto en circunferencia

Iniciado por paquitoChocolatero, 10 de Abril de 2008, 08:43:33 AM

« anterior - próximo »

paquitoChocolatero

Hola,

Estoy intentando hacer, de moento estudiando las posibilidades mas sencillas, crear imagen de un texto escrito en circunferencia. Es decir, como estan por ejemplo en algunas monedas.

La cuestión es que de momento no he encontrado un método rápido, lo único que se me ocurre es lo siguiente;

Creo una imagen de una linea con el texto que quiero. Esta imagen rectangular la leo pixel por pixel calculando donde debería ir si la quiero representar con el mismo largo a traves de una circunferencia, segun la formula.

Me surge alguna duda, la circunferencia de los pixeles centrales me quedarán exactamente representados a traves de esta circunferencia, ¿que pasaria con los de arriba o abajo en la imagen incial rectangular? ¿quedarían o mas largos o mas cortos, respectivamente, en mi circunferencia, y no se como lo trataría.

El caso es que me gustaria si alguien ha programado algo parecido en cuanto a trasformar imagenes a efecto de circunferencia, o conocen alguna libreria que me ayuda, etc... cualquier sugerencia.

Lo estoy realizando en Java Graphisc, porque comence haciendo otras funcionalidades en Java, pero quizá sería m,as facil en C++ con SDL, no se ¿alguna idea?

Gracias de Antemano.

Loover

¿Podrías adjuntar una imagen? Si es lo que creo sería relativamente sencillo de hacer en openg/direct usando sus matrices de transformación. O bien podrías usar las tuyas propias.

En Java graphics o SDL... ni idea, no estoy demasiado familiarizado con esos entornos. Pero siempre podrías hacerte un set de funciones matriciales y tal. Pero claro, antes mejor saber que puedes hacerlo con tu propio set deberías verificar que puedes hacerlo en d3d.
IndieLib Libreria 2.5d utilizando aceleración por hardware para la programación de juegos 2d.
Indie Rover The monkeys are reading!

paquitoChocolatero

Hola,

Gracias, nunca he usado d3d, aunque si manejo C++, me podrías ayudar dandome mas detalles sobre el metodo que me sugieres de usar las transformacioenes.

Ahora mismo no tengo ninguna imagen, pero intentare conseguirla. Imagina un texto escrito al rededor de una moneda, eso es exactamente lo que quiero conseguir.

Saludos y gracias por la ayuda.

shephiroth

Buenas. Para hacer esto no te tienes q salir de java, simplemente ir un poco mas lejos. Tienes q saltar de Graphics a Graphics2D. Con un simple casteo ya funciona (a partir de java 1.3 creo el objeto grafico es Graphics2D, pero se sigue usando Graphics por compatibilidad, asi que no hay problema en hacer el casteo a la clase hija). Con Graphics2D tienes que usar un AffineTransform. A partir de aqui tendrás que bucear un poco por google pq no he usado muchas transformaciones.

SUERTE

shephiroth

Rebuscando un poco encontre el enlace. No es exactamente lo q pides, solo indican como trasladar/rotar el texto pero dejandolo recto. Pero de todos modos con esto ya te haras una idea de como se trabajan con las transformaciones. Ahora solo falta el modo de "escribir en circulo" xDD

Aqui tienes el enlace.

SUERTE

blau

A mi se me ocurre que pintes cada letra de la frase rotada individualmente, segun la posicion que ocupe cada letra.

No es muy complicado y te ira bien.






Stratos es un servicio gratuito, cuyos costes se cubren en parte con la publicidad.
Por favor, desactiva el bloqueador de anuncios en esta web para ayudar a que siga adelante.
Muchísimas gracias.