Principales respuestas
Dibujar en metros coordenadas papel GDI+

Pregunta
-
Hola buenas tardes;
Intentando buscar de cómo lograr la verdad no pude, por lo que me remito al mejor foro para que me puedan ayudar. ¿Cómo podrìa dibujar por ejemplo un simple rectangulo que mide 0.35 m de ancho x 0.45 m de alto en un PictureBox?, guardando el ratio de la sección claro esta. El valor del ancho y alto de la sección los ingreso a través de un TextBox.
Se que existe en la clase Graphics, la posibilidad de cambiar las unidades a milimetros, pero no he logrado como poder hacer esto. La idea es que en toda mi aplicación se manejará el mismo sistema de unidades para las medidas.
Espero me puedan ayudar con un ejemplo simple, pues eso me bastará para poder emprender lo que quiero realizar.
Muchas gracias. Dios los beniga.
Harold Alonso Quintero Pineda Ingeniero Civil Universidad Francisco de Paula Santander Ocaña Correo: haroldpineda1401@outlook.com Cel: 3158700970
- Cambiado Enrique M. Montejo jueves, 15 de octubre de 2015 18:03 Pregunta relacionada con controles de Windows Forms.
Respuestas
-
Hola
¿Así es lo que quieres?
Pedro López
- Marcado como respuesta Harold Quintero Pineda sábado, 24 de octubre de 2015 1:40
-
Hola
Le reitero que es un borrador. Funciona así:
Colocar alto y ancho en 1 y 2. Presionar botón 3 y aparece el dibujo rojo en el Picture 4 y la relación pixel x metro en 5 (en este caso 400)
En cualquiera de los texbox 7 colocar el nuevo valor. Al salir con la tecla TAB automáticamente se carga en el otro texbox el valor que corresponde manteniendo el ratio. pero se recalcula la relación pixel x metro (en este caso se va a 667) y se dibuja el rectángulo en azul que termina siendo igual al primero.
Pero si en el codigo anulamos la linea 31 ( se saltea la sub calculando2) no se vuelve a recalcular la relación pixel x metro y queda así
Ahora si las segundas medidas son mayores que las primera la imagen se sale del Picture, cosa que no sucedía cuando la sub calculando2 estaba habilitada.
Espero se halla entendido
Saludos
Pedro López
- Marcado como respuesta Harold Quintero Pineda sábado, 24 de octubre de 2015 1:40
Todas las respuestas
-
Hola
Yo tendria en cuenta que estás trabajando con unidades pixcel. Puedes encontrar la relacción pixcel a mm en variso sitios (http://www.unitconversion.org/typography/pixels-x-to-millimeters-conversion.html)
De allí en mas deberias establlecer una relación de acuero conlas medidas promedio que piensas usar.
Saludos
Pedro López
-
Hola Pedro, de antemano gracias por su respuesta.
Lo de la conversión no hay problema en eso,pues soy Ingeniero Civil y conozco sobre eso. Mi problema se centra en como hacer medainte código con la Clase Graphics.Units, representando un simple rectangulo en un PictureBox. ¿Sabe a lo que me refiero?. Espero me pueda ayudar con lo que pido. Como le comente la idea es manteniendo el ratio de la figura.
Espero me pueda ayudar.
Harold Alonso Quintero Pineda Ingeniero Civil Universidad Francisco de Paula Santander Ocaña Correo: haroldpineda1401@outlook.com Cel: 3158700970
-
-
Hola de nuevo médico, disculpeme a mí más bien si interpretó eso, pero para nada, solo quise aclarar que el problema no es la conversión. Espero me pueda ayudar, pues lo que le comenté en el mensaje anterior es lo que quiero lograr, soy programador autodidacta, pero no conozco el código y he intentando buscar, para lo grar eso.
Espero me pueda ayudar, y formar un grupo de ayuda mutua, pues al igual tengo conocimiento en la programación, lo cual me ha permitido desarrollar aplicaciones para mi profesión.
Muchas gracias.
Harold Alonso Quintero Pineda Ingeniero Civil Universidad Francisco de Paula Santander Ocaña Correo: haroldpineda1401@outlook.com Cel: 3158700970
-
-
Prueba con esto:
Imports System.Drawing Module Module1 Sub Main() Dim width As Integer = 100 'en milimetros Dim Height As Integer = 100 'en milimetros Dim dpi As Integer = 300 'dots per inch Dim w As Integer = width * dpi / 25.4 Dim h As Integer = Height * dpi / 25.4 Dim bmp As New System.Drawing.Bitmap(w, h) bmp.SetResolution(dpi, dpi) Dim g As System.Drawing.Graphics g = System.Drawing.Graphics.FromImage(bmp) g.PageUnit = Drawing.GraphicsUnit.Millimeter g.SmoothingMode = Drawing.Drawing2D.SmoothingMode.HighQuality g.CompositingQuality = Drawing.Drawing2D.CompositingQuality.HighQuality g.Clear(Drawing.Color.White) Dim pen As New Pen(New SolidBrush(Color.Black)) With {.Width = 1} g.DrawRectangle(pen, 10, 10, 80, 80) bmp.Save("C:\test_mm.jpg", Drawing.Imaging.ImageFormat.Jpeg) End Sub End Module
esto crea un cuadro de 80 mm por 80 mm en una imagen de 100 por 100 mm.
y lo guarda en un archivo llamado test_mm.jpg en C:
Si tienes dudas con gusto te ayudo.
Saludos.
- Editado Horroroso Horroroso jueves, 15 de octubre de 2015 21:54
-
Buenas tardes compañero, he mirado tu ejemplo, lo probè pero no guarda la imagen en ninguna parte de C. Lo otros que te pregunto es que necesito crear es el gràfico en un PictureBox, manteniendo el ratio si cambio las medidas.
Harold Alonso Quintero Pineda Ingeniero Civil Universidad Francisco de Paula Santander Ocaña Correo: haroldpineda1401@outlook.com Cel: 3158700970
-
Hola, que pena. Ya hice que apareciera la imagen, pero ahora mi preguta es còmo mostrarlo en un PictureBox?. Te agradecerìa mucho, pues mi idea es crear una clase con varios mètodos. Muchas gracioas.
Harold Alonso Quintero Pineda Ingeniero Civil Universidad Francisco de Paula Santander Ocaña Correo: haroldpineda1401@outlook.com Cel: 3158700970
-
Para ser màs preciso y visual. Muestro la siguiente imagen :
En un PictureBox de 200 pix. * 200 pix, debo ser capaz de dibujar una secciòn rectangular de cualquier tamaño, pero èsta debe permanecer con el ratio de la sección(que se observe que es màs larga que ancha), pero sin desbordarse del PictureBox.
Muchas gracias.
Harold Alonso Quintero Pineda Ingeniero Civil Universidad Francisco de Paula Santander Ocaña Correo: haroldpineda1401@outlook.com Cel: 3158700970
-
Hola
¿Así es lo que quieres?
Pedro López
- Marcado como respuesta Harold Quintero Pineda sábado, 24 de octubre de 2015 1:40
-
Hola señor Pearloga, la idea es que se dibuje dichas unidades de ancho y largo en metros dentro del Picturebox, cuando presione el botòn Dibujar. Ahora, la idea es que toca trasladar el origen de coordenadas al centro del Picturebox, para que la imagen que se dibuje siemore sea del centro hacia los lados, y lo màs importante que no importa que tan grande o pequña sean las dimensiones quepa dentro del PictureBox y mantenga la relaciòn de aspecto(super importante).
Esper haberme hecho entender, muchas gracias por todo.
Harold Alonso Quintero Pineda Ingeniero Civil Universidad Francisco de Paula Santander Ocaña Correo: haroldpineda1401@outlook.com Cel: 3158700970
-
-
Buenos dìasseñor PearLoga;
No, le voy a mostrar una imagen de un programa que uso para càlculos estructurales, observe que cuando cambio tanto su anacho como su largo( en metros) en la imagen que señalo con una flecha, cmabia automàticamente de tamaño, sin perder la relación de aspecto(que se vea que es màs larga que ancha, en caso de ser un rectàngulo, y que sea igual sus lados , si es un cuadrado...Espero me halla hecho entender.
Al igual, creo yo que para hacer que se dibuje en el centro del PictureBox, bastarà con hacer una traslado de sus coordenadas.
Gracias, espero pueda ayudarme.
Harold Alonso Quintero Pineda Ingeniero Civil Universidad Francisco de Paula Santander Ocaña Correo: haroldpineda1401@outlook.com Cel: 3158700970
-
-
Señor PearLoga, voy a probarlo, de antemano le agradezco por su colaboración. Luego le comento como me va con eso.
Harold Alonso Quintero Pineda Ingeniero Civil Universidad Francisco de Paula Santander Ocaña Correo: haroldpineda1401@outlook.com Cel: 3158700970
-
Estuve viendo el còdigo, y la verdad pues me he perdido un poco, la verda le agradezc enormemente por el querer ayudarme. La idea de la relaciòn de aspecto(ratio), es que internamente la calcule al hacer clic en Calcular, con el fin de que la pueda dibujar en el Picturebox, como ya lo dije, conservando la proporción(ratio).
Me ha dado la idea, tratarè de hacer un ejemplo por mi propio medio, haber como me va, le agradezco mucho.
Harold Alonso Quintero Pineda Ingeniero Civil Universidad Francisco de Paula Santander Ocaña Correo: haroldpineda1401@outlook.com Cel: 3158700970
-
Hola
Le reitero que es un borrador. Funciona así:
Colocar alto y ancho en 1 y 2. Presionar botón 3 y aparece el dibujo rojo en el Picture 4 y la relación pixel x metro en 5 (en este caso 400)
En cualquiera de los texbox 7 colocar el nuevo valor. Al salir con la tecla TAB automáticamente se carga en el otro texbox el valor que corresponde manteniendo el ratio. pero se recalcula la relación pixel x metro (en este caso se va a 667) y se dibuja el rectángulo en azul que termina siendo igual al primero.
Pero si en el codigo anulamos la linea 31 ( se saltea la sub calculando2) no se vuelve a recalcular la relación pixel x metro y queda así
Ahora si las segundas medidas son mayores que las primera la imagen se sale del Picture, cosa que no sucedía cuando la sub calculando2 estaba habilitada.
Espero se halla entendido
Saludos
Pedro López
- Marcado como respuesta Harold Quintero Pineda sábado, 24 de octubre de 2015 1:40