Foros del Web » Programación para mayores de 30 ;) » .NET »

Recortar la zona de imagen que esté visible bajo un rectángulo

Estas en el tema de Recortar la zona de imagen que esté visible bajo un rectángulo en el foro de .NET en Foros del Web. Hola, estoy haciendo un programa en VB.NET y WPF el cual debe integrar un recortador de imágenes muy simple y limitado. La imagen final siempre ...
  #1 (permalink)  
Antiguo 29/04/2016, 18:26
 
Fecha de Ingreso: noviembre-2009
Mensajes: 67
Antigüedad: 14 años, 5 meses
Puntos: 2
Recortar la zona de imagen que esté visible bajo un rectángulo

Hola, estoy haciendo un programa en VB.NET y WPF el cual debe integrar un recortador de imágenes muy simple y limitado.

La imagen final siempre debe tener un tamaño de 18 centímetros de ancho por 13 de alto (pues el programa estará destinado a ser usado con una impresora que sólo imprime en ese tamaño, por tanto es bastante conveniente ver conforme vas recortando, qué es exactamente lo que va a salir y lo que no en la impresión), y debe tener 300 píxeles por pulgadas, lo cual nos da una imagen de 2126 píxeles de ancho y 1535 píxeles de alto.

No tengo ni idea de cuál es la mejor manera de hacer todo esto, así que por ahora como visor tengo esto:

Código XAML:
Ver original
  1. <Viewbox Stretch="Uniform">
  2.                         <Grid>
  3.                             <Image x:Name="VisorFoto" Width="2126" Height="1535" HorizontalAlignment="Center" VerticalAlignment="Center"/>
  4.                             <Rectangle x:Name="Marco" Width="2126" Height="1535" Stroke="Black"/>
  5.  
  6.                         </Grid>
  7.                     </Viewbox>

El Viewbox lo uso para que a pesar de las dimensiones de los controles en su interior, la imagen se vea siempre entera sea cual sea la resolución de la pantalla. Y el control Image (y por tanto también el Rectangle) los tengo en esas dimensiones básicamente por ignorancia. No sé si eso facilita el tema del recorte.

El caso es, el Rectangle debe mantenerse siempre quieto, en el centro de la interfaz, representando el marco de la foto, separando lo que se va a imprimir de lo que no, y el Image debe poder ser arrastrado y reescalado con un Slider, para poder centrar bajo el Rectangle la zona de la imagen que quieres recortar.

Un compañero nuestro de este foro ya me ayudó personalmente a intentar lograrlo, y me hizo este proyecto de ejemplo (si mi explicación os ha dejado con dudas, creo que lo entenderéis al probarlo): https://www.dropbox.com/s/ahtbsfrx7t...magen.zip?dl=0

El problema es que aún no va muy fino... la imagen se puede arrastrar, pero no sigue con exactitud el movimiento del cursor. Y el recorte funciona, hasta que reescalas la imagen con el Slider. Además, aún no se puede guardar en un nuevo archivo JPG la imagen recortada, ni tampoco se puede deshacer el recorte.

¿Alguna ayuda para arreglar esos detallitos, por favor? le estaría eternamente agradecido, pues es para un proyecto muy importante.

Etiquetas: net, recortar, vb, visible
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 12:08.