Cuestión : Imagen a memoria de imagen demasiado grande

Tengo código que agrega una insignia de la compañía mientras que una marca de agua a las fotos y después las ahorra detrás como jpg.  Las imágenes originales son 35kb, pero la nueva imagen es 600kb.  La filigrana es 3kb.  ¿1) por qué es el nuevo archivo tan grande?  ¿2) cómo puedo ahorrar éstos más pequeños?   class= > " claro " del
> del " codeSnippet " del class= del
class= " lineNumbers " del
class= del
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
40:
41:
42:
43:
id= " codeSnippet947788 " class= " del
 ' copia la imagen de primero plano en una BITMAP.
        Phototouse dévil como secuencia
        phototouse = “C:\inetpub\wwwroot\watermark.png”        

        picForeground dévil como System.Drawing.Bitmap = nuevo System.Drawing.Bitmap (phototouse)
        Fg_wid dévil como número entero = picForeground.Width
        Fg_hgt dévil = picForeground.Height
        Fg_bm dévil como nueva BITMAP (fg_wid, fg_hgt)
        Usar GR como los gráficos = Graphics.FromImage (fg_bm)
            gr.DrawImage (picForeground, 0, 0, fg_wid, fg_hgt)
        Extremo usar

        'Hacer los pixeles rojos transparentes.
        fg_bm.MakeTransparent (Color.White)

        Amortiguar la foto como secuencia = photoname
        'Hacer la BITMAP del resultado.
        Amortiguar el picBackground como System.Drawing.Bitmap = nuevo System.Drawing.Bitmap (localfolder y la foto)
        Amortiguar el bg_wid como número entero = picBackground.Width
        Amortiguar el bg_hgt = picBackground.Height
        Amortiguar el bg_bm como nueva BITMAP (bg_wid, el bg_hgt)
        Si CY = 0 y CX = 0 entonces
            'Necesidad de colocar la foto en el patrón de la esquina b/c de la extrema izquierda no encontrado
            la CX = 0 'fijó a cero para la insignia en la esquina de la parte inferior izquierda, sistema al bg_wid - 90 para la insignia en la esquina correcta inferior
            CY = bg_hgt - 20
        
            el 'patrón encontró, ajusta para cubrir el patrón
            CX = CX - 2
            CY = CY - 11
        Terminar si
        Usar GR como los gráficos = Graphics.FromImage (bg_bm)
            gr.DrawImage (picBackground, 0, 0, bg_wid, bg_hgt)

            'Dibujar la imagen de primero plano en tapa.
            gr.DrawImage (fg_bm, CX, CY, fg_wid, fg_hgt)
        Terminar usar

        'Exhibir el resultado.
        Amortiguar destfile como secuencia = localfolder y photonewname
        bg_bm. Ahorrar (destfile)

        'No necesitamos la BITMAP del primero plano más.
        fg_bm. Disponer ()
class= del

Respuesta : Imagen a memoria de imagen demasiado grande

Pienso que usted está salvando un archivo del bmp en la línea 40 sin la compresión del JPEG


leer por favor esta página:
http://msdn.microsoft.com/en-us/library/bb882583.aspx
Otras soluciones  
 
programming4us programming4us