![]() |
Rectangulo con decimales
Hola a todos:
Estoy haciendo un aplicación, en la cual requiero dibujar rectangulos, los cuales pueden tener medidas enteras o decimales. Uso el canvas.Rectangle pero éste en sus parametros solo acepta enteros. ¿Alguien sabe como puedo dibujar estos rectangulos con medidas que incluyan decimales? Uso Delphi5. Gracias a todos por su tiempo y cualquier sugerencia de antemano la agradezco. :) |
Cita:
Lo que sucede es que tú debes establecer tu unidad de medida y hacer las conversiones pertinentes. Digamos por ejemplo que defines tu unidad como 10 pixeles de manera que con una resolución de 800x600 tendrás una superficie de 80x60 unidades. Con esta unidad de medida, un rectángulo de por ejemplo 3.5 unidades de ancho corresponderá a 35 pixeles. Piensa en un programa de dibujo en donde puedes especificar un lienzo, digamos de 7x5 cm. Para poder realizar medidas en el lienzo debes establecer cuántos pixeles van a representar 1 centímetro, hacer los cálculos que debas hacer y finalmente aplicar la conversión (que será un regla de tres) para convertir a pixeles, teniendo en cuenta que algo se perderá necesariamente al momento de redondear. // Saludos |
Cita:
El problema es que salvo monitores planos con dimensiones fijas, dificilmente obtendrás un cuadrado de digamos: 2cmx2cm con una buena precisión. De hecho eso va para impresoras pero no para pantallas, ni que decir si el usuario modifica la opción de "puntos por pulgada" de la pantalla. :rolleyes: Si es un requerimiento ten cuidado, no es justificación la ignorancia del usuario para pedir tonterias. |
Cita:
Imagínate un arquitecto teniendo que especificar ¡sólo medidas enteras en AutoCad! Dificílmente un programa de dibujo sobrevivirá con tal limitación. Desde luego que se debe poder hacer. Sólo que lo que hay que entender aquí es la diferencia entre el sistema de coordenadas lógicas que se use y las coordenadas físicas en pixeles. Claro que ningún monitor será capaz de escalar con absoluta precisión las medidas pero eso no tiene importancia. Lo que se ve en la pantalla no es más que una representación de la realidad. // Saludos |
Cita:
|
Cita:
|
La franja horaria es GMT +2. Ahora son las 15:22:39. |
Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi