Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Ресайз картинки (gif-формат)
|
|||
|---|---|---|---|
|
#18+
На странице есть форма, у которой имеется возможность закачивать файлы (FileUpload), при закачивании должен производиться ресайз картинки. Делаю так: Создаю объект класса Image Image image = _createImage(MainImage.PostedFile.InputStream); ImageFormat format = image.RawFormat; //вычисляю нужный размер картинки Bitmap result = new Bitmap(resultWidth, resultHeight); result.MakeTransparent(); Graphics graphics = Graphics.FromImage(result); graphics.CompositingQuality = CompositingQuality.HighQuality; graphics.InterpolationMode = InterpolationMode.HighQualityBicubic; graphics.DrawImage(image, 0, 0, resultWidth, resultHeight); graphics.Flush(); //Сохраняю картинку в gif-формате (она изначальна была такой) MemoryStream stream = new MemoryStream(); result.Save(stream, ImageFormat.Gif); Всё происходит хорошо. Но как известно у гифа есть возможность прозрачного фона, так вот такие картинки у которых прозрачный фон сохраняются очень странно. За место прозрачного фона появляется чёрный фон. Как сделать так, чтобы прозрачный фон оставался прозрачным??? Вывод происходит при помощи хэндлера, в котором из БД берётся поле типа image, в результате имеем массив байтов. И выводим в общий поток context.Response.Clear(); context.Response.OutputStream.Write(bytes, 0, bytes.Length); Явно указывал context.Response.ContentType = "image/gif"; не помогает. Нашёл статейку http://support.microsoft.com/default...;en-us;Q319061 Там написано, что надо менят таблицу цветов у гиф-файла, и чуть ли не по каждому пикселю анализировать картинку, одновременно с этим написано, что это происходит несколько долго. И как быть? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.11.2006, 09:31 |
|
||
|
|

start [/forum/topic.php?fid=18&msg=34102860&tid=1387838]: |
0ms |
get settings: |
7ms |
get forum list: |
11ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
41ms |
get topic data: |
7ms |
get forum data: |
2ms |
get page messages: |
24ms |
get tp. blocked users: |
1ms |
| others: | 251ms |
| total: | 348ms |

| 0 / 0 |
