Estás en: Funcion Crop o Recortar una imagen
Para dar las gracias debes entrar o registrarte en el foro
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 ?¿
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";
}