Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Gráficos (https://www.clubdelphi.com/foros/forumdisplay.php?f=8)
-   -   Rectangulo con decimales (https://www.clubdelphi.com/foros/showthread.php?t=13920)

m@r 03-09-2004 16:34:18

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. :)

roman 03-09-2004 17:05:04

Cita:

Empezado por m@r
¿Alguien sabe como puedo dibujar estos rectangulos con medidas que incluyan decimales?

No puedes. Las medidas que especificas corresponden a pixeles en el monitor y no hay fracciones de pixeles.

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

Amilius 03-09-2004 17:20:10

Cita:

Empezado por roman
Las medidas que especificas corresponden a pixeles en el monitor y no hay fracciones de pixeles.

Bien dicho!! :D

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.

roman 03-09-2004 17:30:26

Cita:

Empezado por Amilius
no es justificación la ignorancia del usuario para pedir tonterias.

¿Tonterías? :confused:

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

jachguate 03-09-2004 17:55:12

Cita:

Empezado por roman
Lo que se ve en la pantalla no es más que una representación de la realidad.

Creo que no hay mejor forma de decirlo... xD

Amilius 04-09-2004 15:32:01

Cita:

Empezado por roman
¿Tonterías? :confused:
Imagínate un arquitecto teniendo que especificar ¡sólo medidas enteras en AutoCad!

No entendiste. :rolleyes:


La franja horaria es GMT +2. Ahora son las 06:38:33.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi