Questione : Immagine a memoria d'immagine troppo grande

Ho codice che aggiunge un marchio dell'azienda mentre un contrassegno di acqua alle foto ed allora le conserva indietro come jpg.  Le immagini originali sono 35kb, ma la nuova immagine è 600kb.  La filigrana è 3kb.  1) perché è la nuova lima così grande?  2) come posso conservare questi più piccoli?   class= > " libero " 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 l'immagine di priorità alta in una bitmap.
        Phototouse fioco come stringa
        phototouse = “C:\inetpub\wwwroot\watermark.png„        

        picForeground fioco come System.Drawing.Bitmap = nuovo System.Drawing.Bitmap (phototouse)
        Fg_wid fioco come il numero intero = picForeground.Width
        Fg_hgt fioco = picForeground.Height
        Fg_bm fioco come nuova bitmap (fg_wid, fg_hgt)
        Using il gr come i grafici = Graphics.FromImage (fg_bm)
            gr.DrawImage (picForeground, 0, 0, fg_wid, fg_hgt)
        Estremità Using

        'Rendere i pixel rossi trasparenti.
        fg_bm.MakeTransparent (Color.White)

        Oscurare la foto come stringa = photoname
        'Fare la bitmap di risultato.
        Oscurare il picBackground come System.Drawing.Bitmap = nuovo System.Drawing.Bitmap (localfolder & foto)
        Oscurare il bg_wid come il numero intero = picBackground.Width
        Oscurare il bg_hgt = picBackground.Height
        Oscurare il bg_bm come nuova bitmap (bg_wid, bg_hgt)
        Se il CY = 0 e la CX = 0 allora
            'Necessità di posizionare foto nel modello dell'angolo b/c di estrema sinistra non trovato
            la CX = 0 'si è regolata a zero per il marchio nell'angolo della risalita, insieme a bg_wid - 90 per il marchio nel giusto angolo inferiore
            il CY = bg_hgt - 20
        Altrimenti
            'il modello ha trovato, registra per riguardare il modello
            la CX = la CX - 2
            il CY = il CY - 11
        Concluder se
        Using il gr come i grafici = Graphics.FromImage (bg_bm)
            gr.DrawImage (picBackground, 0, 0, bg_wid, bg_hgt)

            'Disegnare l'immagine di priorità alta sulla parte superiore.
            gr.DrawImage (fg_bm, CX, CY, fg_wid, fg_hgt)
        Concluder Using

        'Visualizzare il risultato.
        Oscurare destfile come stringa = localfolder & photonewname
        bg_bm. Risparmiare (destfile)

        'Non avremo bisogno della bitmap della priorità alta più.
        fg_bm. Disporre ()
class= del

Risposta : Immagine a memoria d'immagine troppo grande

Penso che stiate conservando una lima del bmp nella linea 40 senza compressione del JPEG


leggere prego questa pagina:
http://msdn.microsoft.com/en-us/library/bb882583.aspx
Altre soluzioni  
 
programming4us programming4us