87 votos

Crear imagen en miniatura

Quiero Mostrar la imagen en miniatura en vista de cuadrícula de ubicación de archivos. Cómo generar que del archivo .jpeg estoy usando lenguaje C# con asp.net

207voto

Russell Troywest Puntos 5400

Desea utilizar GetThumbnailImage en la clase de imagen:

http://msdn.Microsoft.com/en-US/Library/System.Drawing.Image.GetThumbnailImage.aspx

Aquí hay un ejemplo difícil que toma un archivo de imagen y hace una imagen en miniatura de él, entonces guarda al disco.

    Image image = Image.FromFile(fileName);
    Image thumb = image.GetThumbnailImage(120, 120, ()=>false, IntPtr.Zero);
    thumb.Save(Path.ChangeExtension(fileName, "thumb"));

25voto

Priyan R Puntos 687

El siguiente código escribirá una imagen en proporcional a la respuesta, que puede modificar el código para su propósito

public void WriteImage(string path, int width, int height)
        {
            Bitmap srcBmp = new Bitmap(path);
            float ratio = srcBmp.Width / srcBmp.Height;
            SizeF newSize = new SizeF(width, height * ratio);
            Bitmap target = new Bitmap((int) newSize.Width,(int) newSize.Height);
            HttpContext.Response.Clear();
            HttpContext.Response.ContentType = "image/jpeg";
            using (Graphics graphics = Graphics.FromImage(target))
            {
                graphics.CompositingQuality = CompositingQuality.HighSpeed;
                graphics.InterpolationMode = InterpolationMode.HighQualityBicubic;
                graphics.CompositingMode = CompositingMode.SourceCopy;
                graphics.DrawImage(srcBmp, 0, 0, newSize.Width, newSize.Height);
                using (MemoryStream memoryStream = new MemoryStream()) {
                    target.Save(memoryStream, ImageFormat.Jpeg);
                    memoryStream.WriteTo(HttpContext.Response.OutputStream);
                }
            }
            Response.End();


        }

Iteramos.com

Iteramos es una comunidad de desarrolladores que busca expandir el conocimiento de la programación mas allá del inglés.
Tenemos una gran cantidad de contenido, y también puedes hacer tus propias preguntas o resolver las de los demás.

Powered by:

X