Delphi/Lazarus: Determinar TextWidth y TextHeight sin Canvas
Pregunta de Invitado | Última actualización el 21/07/2022 | Creado el 01/05/2022
Me gustaría determinar el ancho y la altura para una fuente, respectivamente, para un tamaño de fuente específico (TextWidth y TextHeight) sin tener un Canvas disponible.
Por ejemplo, un Button (TButton) no tiene un Canvas. Entonces, ¿Cómo debo trabajar con eso? ¿Alguien tiene un truco para eso?
Temas Relacionados
Delphi/Lazarus: Escribir texto con fondo transparente sobre Canvas
Tutorial | 1 Comentario
HTML5: Canvas.toDataURL() siempre devuelve PNG en lugar de JPG
Pregunta | 1 Respuesta
Delphi/Lazarus: ¿Está presionada la tecla ALT, SHIFT o CTRL?
Tutorial | 0 Comentarios
Lazarus: Cargar Archivo como Array de Bytes y Guardar Array de Bytes como Archivo
Tutorial | 0 Comentarios
Delphi/Lazarus: Mostrar Fecha y Hora actuales
Consejo | 0 Comentarios
Delphi: Mostrar Directorio en Explorador de Windows
Pregunta | 1 Respuesta
Delphi/Lazarus: Diferencia entre ParamStr(0) y Application.ExeName
Pregunta | 1 Respuesta
Aviso Importante
Por favor tenga en cuenta: Las contribuciones publicadas en askingbox.com son contribuciones de los usuarios y no deben reemplazar el asesoramiento profesional. No son verificados por independientes y no reflejan necesariamente la opinión de askingbox.com. Aprende más.
Participar
Haga su propia pregunta o escriba su propio artículo en askingbox.com. He aquí cómo.
Cuando me enfrento a ese problema, creo un Bitmap dentro de la función en la que puedo procesar mis mediciones. Después del procesamiento, puedo eliminar (free) este Bitmap en caso de que ya no lo necesite.
Aquí hay una función para obtener el ancho (TextWidth) de una fuente:
Y aquí hay una función para obtener la altura (TextHeight):
En ambas funciones, estamos tomando la fuente de Form1, pero, por supuesto, también es posible usar y establecer cualquier otra fuente en bmp.Canvas.Font dentro de la función. Por ejemplo, así:
En esta función, también podemos pasar el nombre de la fuente, así como el tamaño de la fuente como parámetro.
Sin embargo, si solo desea establecer el tamaño de un Button, también puede hacerlo configurando la propiedad AutoSize en TRUE. Si este es el caso, el botón se ajusta automáticamente al texto que contiene.
Última actualización el 21/07/2022 | Creado el 01/05/2022