FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Buscar | Temas de Hoy | Marcar Foros Como Leídos |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
|||
|
|||
Ordenar letras en un Canvas
Buenos dias a todos,
Alguien sabe como ordenar un conjunto de x cantidad de letras en forma consecutiva dentro de un canvas dadas unas coordenadas x, y ? Gracias |
#2
|
||||
|
||||
Hola.
Saludos
__________________
Daniel Didriksen Guía de estilo - Uso de las etiquetas - La otra guía de estilo .... |
#3
|
|||
|
|||
Estan en una TImage
El orden deberia ser secuencial, es decir, evitar que una letra se sobreponga sobre otra cuando se ordenen |
#4
|
||||
|
||||
Hola.
Entiendo con eso que las letras estan en modo gráfico, como imágen. De ser así, la mayor dificultad es conseguir los caracteres; habría que usar algún software OCR para interpretarlos y así obtener cada uno de ellos. Una vez adquiridos, los puedes mostrar mediante el procedimiento TextOut por ejemplo. Saludos
__________________
Daniel Didriksen Guía de estilo - Uso de las etiquetas - La otra guía de estilo .... |
#5
|
|||
|
|||
Si, asi lo hago
Con textout Los caracteres se pueden convertir mediante una fuente de Windows El asunto es que no haya overlapping entre ellos y por eso se deban ordenar secuencialmente |
#6
|
||||
|
||||
Hola.
Es que no termino de entender la situación... Si ya obtuviste los caracteres, puedes almacenarlos en un string y mostrarlos con Canvas.TextOut, de ese modo no deberías tener ningún tipo de superposición. Y, si deseas manejar los interespacios entre caracteres de modo mas fino, puedes usar la función API SetTextCharacterExtra. Saludos
__________________
Daniel Didriksen Guía de estilo - Uso de las etiquetas - La otra guía de estilo .... |
#7
|
|||
|
|||
Asi lo hago
Pero no veo como hacer para que no ocurra el overlap |
#8
|
||||
|
||||
Vamos a ver. Ordenar lo ordenas a medida que las escribes en el canvas, eso no es un problema. La superposición la resuelves conociendo de antemano el tamaño del carácter o caracteres que vas a escribir. Revisa la API GetTextExtentPoint32A o GetTextExtentPoint32W para Unicode.
Saludos. |
#9
|
|||
|
|||
Ok, entiendo lo que me planteas
Pero basicamente el overlap va a ocurrir cuando 2 letras tengas las mismas coordenadas (x,y) y ncecesito que cuando esto pase se separen los 2 aunque tengan las mismas coordenadas |
#10
|
||||
|
||||
Cita:
Imposible. Si dos puntos tienen las mismas coordenadas, coinciden y, además, son el mismo punto. Si quieres separar los caracteres lo tienes que hacer tu por código. Si conoces su tamaño y donde vas a estar, sólo tienen que calcular donde tienes que moverlos. Saludos. |
Herramientas | Buscar en Tema |
Desplegado | |
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
Impresión en Canvas | muli | Impresión | 0 | 05-12-2013 20:58:01 |
Copiar TLabel.Canvas sobre TBitmap.Canvas | @CSE1970 | Gráficos | 2 | 23-10-2013 12:46:53 |
Canvas del JPG | kdemia | Varios | 0 | 29-03-2011 02:22:05 |
Canvas Does Not Allow Drawing | ebeltete | Gráficos | 21 | 15-01-2007 16:07:25 |
Canvas???? | craven | Gráficos | 2 | 17-05-2003 13:26:02 |
|