C sharp - Como Bajar la calidad de una Imagen

   
Vista:

Como Bajar la calidad de una Imagen

Publicado por Dariel darieldap@gmail.com (12 intervenciones) el 03/04/2015 20:05:52
Hola chicos primeramente gracias, la cosa va asi, estoy trabajando con c# 2012 y una db SQLServer 2012, el soft que hice tiene que salvar unas imagenes que son los ID de los trabajadores, cargar la imagen de un archivo meterla en picturebox y salvarla en la DB y poder cargarlo junto con los demas datos de los Trabajadores, todo esto es facil ya lo hice, pero la cosa esta en el crecimiento de mi base de datos, cuando subo una imagen de unos 50 kb ella aumenta casi unos 100 a 150 kb ok perfecto, pero cuando la id escaneada tiene 5 megas aumenta 15 megas mas o menos, por lo que necesito que cuando cargue la imagen en el picturebox este automaticamente me la redimensione pero no salente que la estreche a la forma sino que le cambie el tamaño fisico a la imagen que voy a poner dentro de la bd sin que me modifique el original, asi por ejemplo si la imagen que cargo tiene 3500 x 2000 px que la redimensione a 350 x 200 px que es el tamaño de la forma, asi cuando salve la imagen dentro de la bd no estaria salvando un archivo tan grande WOW, gracias a todos por favor ayuden si pueden saludos
Dariel Alvarez
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

Como Bajar la calidad de una Imagen

Publicado por Alfredo (6 intervenciones) el 04/04/2015 22:03:35
Este codigo lo encontre en la web, es basicamente lo que quieres hacer:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
public static Bitmap ResizeImage(Image image, int width, int height)
{
    var destRect = new Rectangle(0, 0, width, height);
    var destImage = new Bitmap(width, height);
 
    destImage.SetResolution(image.HorizontalResolution, image.VerticalResolution);
 
    using (var graphics = Graphics.FromImage(destImage))
    {
        graphics.CompositingMode = CompositingMode.SourceCopy;
        graphics.CompositingQuality = CompositingQuality.HighQuality;
        graphics.InterpolationMode = InterpolationMode.HighQualityBicubic;
        graphics.SmoothingMode = SmoothingMode.HighQuality;
        graphics.PixelOffsetMode = PixelOffsetMode.HighQuality;
 
        using (var wrapMode = new ImageAttributes())
        {
            wrapMode.SetWrapMode(WrapMode.TileFlipXY);
            graphics.DrawImage(image, destRect, 0, 0, image.Width,image.Height, GraphicsUnit.Pixel, wrapMode);
        }
    }
 
    return destImage;
}

te dejo el url: http://stackoverflow.com/questions/1922040/resize-an-image-c-sharp
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar