Funcion Crop o Recortar una imagen

Para dar las gracias debes entrar o registrarte en el foro

Miembro ocasional
Miembro ocasional
Mensajes: 33 Agradecido: 0
16 Oct 2014, 18:01# 1

Hola, estoy trabajando en una aplicación que edita imágenes y quiero agregarle la función de cortar la imagen a un tamaño remarcado con el mouse o el touch. Pero no le encuentro la vuelta a la función para cortar, he probado una de un ejemplo e investigado unas mas... pero no encuentro una que funcione. Estoy usando visual studio 2013 con SDK 8.1. Alguien me puede echar una ayudita ?¿ :thanks:

Gracias  
Etiquetado en:
Administrador
Administrador
Mensajes: 826 Agradecido: 119
16 Oct 2014, 18:55# 2

Mira a ver si esto te sirve.

Enviado desde mi LG-V500 mediante Tapatalk

Gracias  
1 persona ha dado las gracias: candyvf
Miembro ocasional
Miembro ocasional
Mensajes: 33 Agradecido: 0
22 Oct 2014, 02:21# 3

Davdi, ya conocía ese código y lo quise probar. Pero no me reconoce var rects = new Rectangle[] { rectTopRight, rectTopLeft, rectBotRight, rectBotLeft };
y tampoco varias cosas por la forma que esta definida. AHora estoy probando con una libreria nuget, WRITEABLEBITMAPEX que tiene implementado el crop para bitmapImage... pero me da error con el rectángulo que dibujo antes para que me recorte la imagen.
private void btnCortar_Click(object sender, EventArgs e)
{
// Get the size of the source image captured by the camera
double originalImageWidth = wbPanoramica.PixelWidth;
double originalImageHeight = wbPanoramica.PixelHeight;


// Get the size of the image when it is displayed on the phone
double displayedWidth = VisorPicture.ActualWidth;
double displayedHeight = VisorPicture.ActualHeight;

// Calculate the ratio of the original image to the displayed image
double widthRatio = originalImageWidth / displayedWidth;
double heightRatio = originalImageHeight / displayedHeight;

// Calculate the offset of the cropped image. This is the distance, in pixels, to the top left corner
// of the cropping rectangle, multiplied by the image size ratio.
int xoffset = (int)(((p1.X < p2.X) ? p1.X : p2.X) * widthRatio);
int yoffset = (int)(((p1.Y < p2.Y) ? p1.Y : p2.X) * heightRatio);
int X1 = (int)(p1.X * widthRatio);
int Y1 = (int)(p1.Y * heightRatio);



var cropped = wbPanoramica.Crop(X1, Y1, yoffset, xoffset);

wbPanoramica = cropped;
// Set the source of the image control to the new cropped bitmap
VisorPicture.Source = wbPanoramica;
rect.Visibility = Visibility.Collapsed;


//Enable accept and reject buttons to save or discard current cropped image.
//Disable crop button until a new cropping region is selected.
btnAceptar.IsEnabled = true;
btnReject.IsEnabled = true;
btnCortar.IsEnabled = false;

//Instructional text
textStatus.Text = "Continue editando la imagen, acepte, o rechace el cambio";
}

Gracias  
Nuevo miembro
Nuevo miembro
Mensajes: 2 Agradecido: 0
16 Dic 2015, 09:20# 4
secure future
Gracias  