Question

Je suis donc la conversion d'un Metafile (EMF pour être exact) à un JPEG ou GIF (peu importe tant qu'il est compatible avec les navigateurs) et quand je fais la conversion, tous les pixels transparents noircissent. Je ne sais pas comment faire cela dans GDI + mais voici la méthode que je me sers pour enregistrer le fichier:

Dim Img As System.Drawing.Imaging.Metafile = New System.Drawing.Imaging.Metafile(stream)
Img.Save(Server.MapPath("/FileName.gif"), System.Drawing.Imaging.ImageFormat.Gif)
Était-ce utile?

La solution

consultez le site Web de Bob Powel. il a une métrique-merde-tonne de GDI + trucs. celui-ci est spécifiquement pour trans GIF

Autres conseils

Si je comprends bien le métafichier ne contient pas d'informations pour l'arrière-plan - il est tout simplement transparent.

Un travail simple autour de simplement la couleur de l'arrière-plan la couleur que vous voulez.

par exemple. Le code suivant crée un bitmap de la même taille que l'image originale, tire le fond blanc et attire ensuite l'image de métafichier au-dessus de l'arrière-plan.

        Rectangle imageRect = new Rectangle(0, 0, originalImage.Width, originalImage.Height);
        Bitmap newImage = new Bitmap(originalImage.Width, originalImage.Height);
        Graphics g = Graphics.FromImage(newImage );
        g.FillRectangle(new SolidBrush(Color.White), imageRect);
        g.DrawImage(originalImage, new Point(0, 0));

Ma compréhension est que vous devez fournir des informations sur le cadre, en ce qui concerne le format d'image des images source et de destination pour que les canaux alpha à traduire correctement.

informations précisément la couleur: bits par pixel et si oui ou non il y a par pixel alpha ou d'une couleur transparente ou une seule valeur alpha pour l'ensemble de l'image - des choses de ce genre.

Cependant, je ne suis pas certain comment cela se fait en VB (ou .NET du tout pour cette question) - J'utilise C ++ natif pour ces types d'opérations ...

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top