Tengo un archivo EMF. Quiero redimensionarlo más pequeño.¿Cómo cambio el tamaño (contracción) de un EMF (Metarchivo) en .Net?
¿Cómo hago esto en .net (o con cualquier herramienta) sin obtener una imagen borrosa?
La imagen redimensionada resultante se convertirá a otro formato (png/jpg/lo que sea), puedo manejar eso (creo).
No he encontrado un ejemplo claro en .Net (o en cualquier plataforma de idiomas sobre el tema) que se ocupe de fem/metarchivos.
He buscado en la programación de gráficos con GDI + pero solo presenta metarchivos.
He intentado Image Magick pero tienes que convertir a otro formato (que de todos modos tengo que hacer) y el resultado es borroso (cuando se encoge y se convierte a png por ejemplo).
He intentado con Inkscape, pero solo puede importar un archivo EMF e Inkscape lo importa boca abajo y desproporcionado en un dibujo existente.
Además, (no se ría) Lo abrí en Window's Paint (uno de los pocos programas de software de edición de imágenes que abrirán fem) y redimensioné el dibujo, de nuevo está borroso.
Actualización: Aquí está el código que estoy usando para cambiar el tamaño.
Esto funciona, pero la imagen resultante es borrosa. El código es sólo una rutina imagen de redimensionamiento genérico, no específico para EMF
private static Image resizeImage(Image imgToResize, Size size)
{
int sourceWidth = imgToResize.Width;
int sourceHeight = imgToResize.Height;
float nPercent = 0;
float nPercentW = 0;
float nPercentH = 0;
nPercentW = ((float)size.Width/(float)sourceWidth);
nPercentH = ((float)size.Height/(float)sourceHeight);
if (nPercentH < nPercentW)
nPercent = nPercentH;
else
nPercent = nPercentW;
int destWidth = (int)(sourceWidth * nPercent);
int destHeight = (int)(sourceHeight * nPercent);
Bitmap b = new Bitmap(destWidth, destHeight);
Graphics g = Graphics.FromImage((Image)b);
g.InterpolationMode = InterpolationMode.HighQualityBicubic;
g.DrawImage(imgToResize, 0, 0, destWidth, destHeight);
g.Dispose();
return (Image)b;
}
Fuente: http://www.switchonthecode.com/tutorials/csharp-tutorial-image-editing-saving-cropping-and-resizing
Iba a preguntar dónde estás dibujando el CEM. Pero, lo que acaba de publicar Magnus debe cubrir todo lo que quieras hacer. –