C# images Redimensionnées ont des bordures noires

J'ai un problème avec l'image mise à l'échelle .NET. J'utilise le standard le type de Graphique pour redimensionner les images comme dans cet exemple:

public static Image Scale(Image sourceImage, int destWidth, int destHeight)
{
        Bitmap toReturn = new Bitmap(sourceImage, destWidth, destHeight);

        toReturn.SetResolution(sourceImage.HorizontalResolution, sourceImage.VerticalResolution);

        using (Graphics graphics = Graphics.FromImage(toReturn))
        {
            graphics.CompositingQuality = System.Drawing.Drawing2D.CompositingQuality.HighQuality;
            graphics.SmoothingMode = System.Drawing.Drawing2D.SmoothingMode.HighQuality;
            graphics.InterpolationMode = InterpolationMode.HighQualityBicubic;
            graphics.DrawImage(sourceImage, 0, 0, destWidth, destHeight);
        }
        return toReturn;
    }

Mais j'ai un gros problème avec les images redimensionnées: ils ont le gris et le noir des frontières et il est extrêmement important de le faire pour avoir des images sans eux.

Pourquoi apparaissent-ils et ce que je peux faire les faire disparaître?

Exemple De Sortie:

C# images Redimensionnées ont des bordures noires

Quel est le code HTML ressembler à ce qui est envoyé au navigateur pour ces images?
Qu'est-ce que le type d'origine de l'image?
postez votre image d'entrée
J'ai eu le même problème et posté ma solution.
L'image n'est plus, mais si vous avez été voir un 1px bordure sur le bord, à vous de les corriger que par le passage d'un ImageAttributes instance de DrawImage() avec TileFlipXY ensemble. Que fait le interplation la réutilisation de l'extérieur de pixel du bord d'attaque au lieu de la moyenne contre l'arrière-plan ou la couleur de transparence. Source: imageresizing.net

OriginalL'auteur Ievgen Naida | 2009-12-07