2010-07-23 3 views
2

Je veux stocker l'image dans la table du serveur SQL, et j'ai réussi, mais quand je récupère cette image sur la page, j'ai trouvé que l'image a perdu sa transparence. L'image d'origine est png/gif. J'ai redimensionné cette image en 100px/100px.Image perdu effet transparent lorsqu'il est stocké dans le tableau

J'ai utilisé le code suivant pour redéfinir l'image. Cela fonctionne mais quand il stocke l'image dans la base de données il a perdu la transparence.

using (System.Drawing.Image oldImage = System.Drawing.Image.FromStream(new MemoryStream(imageFile))) 
{ 
    System.Drawing.Size newSize = CalculateDimensions(oldImage.Size, targetSize); 
    using (System.Drawing.Bitmap newImage = new System.Drawing.Bitmap(newSize.Width, newSize.Height, PixelFormat.Format24bppRgb)) 
    { 
     using (System.Drawing.Graphics canvas = System.Drawing.Graphics.FromImage(newImage)) 
     { 
      canvas.Clear(System.Drawing.Color.Transparent); 
      canvas.SmoothingMode = SmoothingMode.HighQuality; 
      canvas.InterpolationMode = InterpolationMode.HighQualityBicubic; 
      canvas.PixelOffsetMode = PixelOffsetMode.HighQuality; 
      canvas.DrawImage(oldImage, new System.Drawing.Rectangle(new System.Drawing.Point(0, 0), newSize)); 
      MemoryStream m = new MemoryStream(); 
      newImage.Save(m, ImageFormat.Png); 
      return m.GetBuffer(); 
     } 
    } 
} 

Toute solution ????

Merci

Répondre

1

Celui-ci répond probablement à votre question:

Why does resizing a png image lose transparency?

Comme l'indique le lien ci-dessus, vous n'êtes pas perdre la transparence parce que l'image est enregistrée dans la base de données. C'est lorsque vous redimensionnez l'image que la transparence est perdue.

Questions connexes