Estás en: Redimensionar BitmapImage
Para dar las gracias debes entrar o registrarte en el foro
Hola, esta vez estoy buscando alguna función que redimensiona imágenes. Necesito que cualquier imagen que seleccione de la galería la redimensione a 720 de alto y el ancho que se ajuste proporcionalmente.
Programe una función que selecciona una imagen la redimensiona y así de a una, el tema es que a la tercer imagen me da un error de excepción OutOfMemoryException en bn.setspurce(mem). Como puedo solucionarlo?¿
private BitmapImage AspectScale(BitmapImage img, int maxWidth, int maxHeigh)
{
double scaleRatio;
if (img.PixelWidth > img.PixelHeight)
scaleRatio = (maxWidth/(double) img.PixelWidth);
else
scaleRatio = (maxHeigh/(double) img.PixelHeight);
var scaledWidth = img.PixelWidth * scaleRatio;
var scaledHeight = img.PixelHeight * scaleRatio;
using (var mem = new MemoryStream())
{
var wb = new WriteableBitmap(img);
wb.SaveJpeg(mem, (int)scaledWidth, (int)scaledHeight, 0, 100);
mem.Seek(0, SeekOrigin.Begin);
var bn = new BitmapImage();
bn.SetSource(mem);
return bn;
}
}