Question : Image à mémoire d'image trop grande

J'ai le code qui ajoutent un logo de compagnie pendant qu'une marque d'eau aux photos et puis les sauvent en arrière comme jpg.  Les images originales sont 35kb, mais la nouvelle image est 600kb.  Le filigrane est 3kb.  1) pourquoi le nouveau dossier est-il si grand ?  2) comment est-ce que je peux sauver ces derniers plus petits ?   class= > " clair " de
> de " codeSnippet " de class= de
class= " lineNumbers " de
class= de
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= " de
 ' copie le premier plan d'image dans une carte binaire.
        Faible phototouse comme corde
        phototouse = « C:\inetpub\wwwroot\watermark.png »        

        Faible picForeground en tant que System.Drawing.Bitmap = nouveau System.Drawing.Bitmap (phototouse)
        Faible fg_wid comme nombre entier = picForeground.Width
        Faible fg_hgt = picForeground.Height
        Faible fg_bm en tant que nouvelle carte binaire (fg_wid, fg_hgt)
        Using le GR comme graphiques = Graphics.FromImage (fg_bm)
            gr.DrawImage (picForeground, 0, 0, fg_wid, fg_hgt)
        Extrémité Using

        'Rendre les Pixel rouges transparents.
        fg_bm.MakeTransparent (Color.White)

        Obscurcir la photo comme corde = photoname
        'Faire la carte binaire de résultat.
        Obscurcir le picBackground en tant que System.Drawing.Bitmap = nouveau System.Drawing.Bitmap (localfolder et photo)
        Obscurcir le bg_wid comme nombre entier = picBackground.Width
        Obscurcir le bg_hgt = le picBackground.Height
        Obscurcir le bg_bm en tant que nouvelle carte binaire (bg_wid, bg_hgt)
        Si la CY = 0 et la CX = 0 puis
            Le 'besoin de placer la photo dans le modèle du coin b/c d'extrême gauche non trouvé
            la CX = 0 'a placé à zéro pour le logo dans le coin du fond gauche, ensemble au bg_wid - 90 pour le logo dans le bon coin inférieur
            la CY = le bg_hgt - 20
        Autrement
            le 'modèle a trouvé, s'ajuste pour couvrir le modèle
            la CX = la CX - 2
            la CY = la CY - 11
        Finir si
        Using le GR comme graphiques = Graphics.FromImage (bg_bm)
            gr.DrawImage (picBackground, 0, 0, bg_wid, bg_hgt)

            'Dessiner le premier plan d'image sur le dessus.
            gr.DrawImage (fg_bm, CX, CY, fg_wid, fg_hgt)
        Finir Using

        'Montrer le résultat.
        Obscurcir destfile comme corde = localfolder et photonewname
        bg_bm. Économiser (destfile)

        'Nous n'avons plus besoin de la carte binaire de premier plan.
        fg_bm. Disposer ()
class= de

Réponse : Image à mémoire d'image trop grande

Je pense que vous sauvez un dossier de BMP dans la ligne 40 sans compression de JPEG


veuillez lire cette page :
http://msdn.microsoft.com/en-us/library/bb882583.aspx
Autres solutions  
  •  MS Excel 2007 et pdf - l'exportation vers le pdf prend de longues heures !
  •  Dans le Perl, comment j'ajoute une valeur à la liste, puis le contrôle pour voir si la valeur existent avant d'ajouter une nouvelle valeur
  •  Comment fais j'initialiser de la HP BL460c G6 de san et de la HP XP 240000
  •  Comment fais j'employer une clef de permis de volume sur un ordinateur de HP avec du CD de restauration
  •  Emplacement primaire de deux SCCM dans l'annuaire actif
  •  L'initiateur et la HP D2D de l'iSCSI R2 du serveur 2008 de Windows GERCENT l'issue
  •  Stocker le dossier dans le mysql using connector.net et le champ de goutte
  •  Carte vidéo d'USB - bit 32 sur le matériel travaillant au niveau du bit 64 ?
  •  asp.net que j'essaye de convertir une forme de HTML en forme d'aspx ou ? ce qui jamais. Aide du besoin sur la façon dont à à elle.
  •  Winzip 12 issues de secours du travail ?
  •  
    programming4us programming4us