Изображение теряет прозрачный эффект при сохранении в таблице - PullRequest
2 голосов
/ 23 июля 2010

Я хочу сохранить изображение в таблице сервера SQL, и мне это удалось, но когда я получил это изображение на странице, я обнаружил, что изображение потеряло прозрачность. Оригинальное изображение png / gif. Я изменил размер изображения в 100px / 100px.

Я использовал следующий код для изменения изображения. Это работает, но когда оно сохраняет изображение в базе данных, оно теряет прозрачность.

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();
        }
    }
}

Любое решение ????

Спасибо

1 Ответ

1 голос
/ 23 июля 2010

Этот ответ, вероятно, отвечает на ваш вопрос:

Почему изменение размера изображения png теряет прозрачность?

Как видно из приведенной выше ссылки, вы не теряете прозрачность, потому чтоизображение сохраняется в базе данных.Когда вы изменяете размер изображения, прозрачность теряется.

...