|
Изменение размера изображения
|
|||
---|---|---|---|
#18+
Не понимаю в чем ошибка.... Тестовый пример по изменению размера картинки. Функция которая сжимает картинку по заданным значениям. Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21.
Почему-то с одними файлами работает нормально - с другими нет. проверяла на стандартных виндовских из "мои документы". изображение "Голубые холмы" ведет себя по другому, чем другие. оно не правильно масштабируется. т.е. размер на выходе верный, но большая часть картинки черным цветом залита. попробовала с фотками тоже самое. ... |
|||
:
Нравится:
Не нравится:
|
|||
09.04.2009, 19:13 |
|
Изменение размера изображения
|
|||
---|---|---|---|
#18+
Попробуй так: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45.
... |
|||
:
Нравится:
Не нравится:
|
|||
09.04.2009, 19:31 |
|
Изменение размера изображения
|
|||
---|---|---|---|
#18+
private Image ResizeImage(Image b, int nWidth, int nHeight) { Bitmap result = new Bitmap(nWidth, nHeight); using (Graphics g = Graphics.FromImage(result)) g.DrawImage(b, 0, 0, nWidth, nHeight); return result; } Во как на c#) ... |
|||
:
Нравится:
Не нравится:
|
|||
29.04.2009, 17:40 |
|
Изменение размера изображения
|
|||
---|---|---|---|
#18+
С удивлением заметил, что распространенный в сети алгоритм ужатия изображения в большинстве случаев увеличивает объем, даже уменьшая его размеры :( Например, уменьшенная до 800х600 px. картинка в любом случае получается ~650КБ Похоже, что такой объем имеет изображение формата .bmp При изменении нижеприведенных параметров до HiSpeed почти ничего не происходит (может может на пару %% уменьшаются) g.CompositingQuality = CompositingQuality.HighQuality; g.SmoothingMode = SmoothingMode.HighQuality g.InterpolationMode = InterpolationMode.HighQualityBicubic; Существует ли более качественный алгоритм ужатия картинок, чем приведенный ниже? Код: c# 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32.
??? ... |
|||
:
Нравится:
Не нравится:
|
|||
27.07.2018, 08:43 |
|
Изменение размера изображения
|
|||
---|---|---|---|
#18+
КурдльПохоже, что такой объем имеет изображение формата .bmp ну дык сохраняй как jpg или png ... |
|||
:
Нравится:
Не нравится:
|
|||
27.07.2018, 09:01 |
|
Изменение размера изображения
|
|||
---|---|---|---|
#18+
КурдльПри изменении нижеприведенных параметров до HiSpeed почти ничего не происходит (может может на пару %% уменьшаются) g.CompositingQuality = CompositingQuality.HighQuality; g.SmoothingMode = SmoothingMode.HighQuality g.InterpolationMode = InterpolationMode.HighQualityBicubic; Сколько не ешь таблеток от похудения, худее не станешь Если вам удастся пожать BMP, премия гарантирована! ... |
|||
:
Нравится:
Не нравится:
|
|||
27.07.2018, 09:29 |
|
Изменение размера изображения
|
|||
---|---|---|---|
#18+
hVostt Сколько не ешь таблеток от похудения, худее не станешь Если вам удастся пожать BMP, премия гарантирована! Даже мое слабоумие - не повод надеяться, что изображение можно ужать без потери качества :/ Но моя надежда была в другом: если я беру, например, JPEG размером 1024х768 и объемом 200КБ, ужав его до 800х600 я хотел бы получить объем где-то 120КБ, а не 650КБ, как получаю сейчас :( ИзопропилКурдльПохоже, что такой объем имеет изображение формата .bmp ну дык сохраняй как jpg или png Куда "сохраняй"? Мне его надо в BLOB упихать. БД без разницы, какое расширение ты придумаешь - один хрен это массив байт. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.07.2018, 10:13 |
|
Изменение размера изображения
|
|||
---|---|---|---|
#18+
КурдльJPEG размером 1024х768 и объемом 200КБ, ужав его до 800х600 я хотел бы получить объем где-то 120КБ, а не 650КБ, как получаю сейчас :(JPEG понятие растяжимое (в прямом смысле :), потому что у него есть степени сжатия. Если ты берешь JPEG с высокой степенью сжатия (и высокой потерей качества), распаковываешь, уменьшаешь размер и запаковываешь обратно в JPEG с низкой степенью сжатия (низкой потерей качества), то неудивительно, что размер увеличится ... |
|||
:
Нравится:
Не нравится:
|
|||
27.07.2018, 10:47 |
|
Изменение размера изображения
|
|||
---|---|---|---|
#18+
Shocker.ProJPEG понятие растяжимое (в прямом смысле :), потому что у него есть степени сжатия. Если ты берешь JPEG с высокой степенью сжатия (и высокой потерей качества), распаковываешь, уменьшаешь размер и запаковываешь обратно в JPEG с низкой степенью сжатия (низкой потерей качества), то неудивительно, что размер увеличится Где в коде, приведенном мной в сообщении , запаковка в JPEG? Подскажи, пожалуйста, что ты конкретно предлагаешь? (Про алгоритмы сжатия изображений я когда-то читал в журнале "Наука и Жизнь", так что можешь не объяснять самые азы). Спасибо! ... |
|||
:
Нравится:
Не нравится:
|
|||
27.07.2018, 11:24 |
|
Изменение размера изображения
|
|||
---|---|---|---|
#18+
КурдльГде в коде, приведенном мной в сообщении , запаковка в JPEG?Тогда что ты хочешь? Ты разжимаешь файл из JPEG-а, отчего он становится сильно больше, потом ресайзишь - он становится немного меньше, но не становится меньше изначально сжатого jpeg-а. А раз ты не сжимаешь результат обратно в jpeg, то твое сравнение размеров: КурдльJPEG размером 1024х768 и объемом 200КБ, ужав его до 800х600 я хотел бы получить объем где-то 120КБ, а не 650КБ, как получаю сейчасвообще некорректно, так как ты сравниваешь размер сжатого jpeg-а с несжатым изображением. Курдльужав его до 800х600Используй вместо термина "сжимание", термин "ресайз", самому понятнее станет ... |
|||
:
Нравится:
Не нравится:
|
|||
27.07.2018, 11:42 |
|
Изменение размера изображения
|
|||
---|---|---|---|
#18+
Shocker.ProИспользуй вместо термина "сжимание", термин "ресайз", самому понятнее станет Ок! "Ресайз". Что ты посоветуешь для сохранения изображения в уменьшенном и сжатом виде? Спасибо! P.S. Посоветовать сжать его в JPEG для меня равносильно совету мышам стать ёжиками Есть ссылки на обсуждения и т.п.? ... |
|||
:
Нравится:
Не нравится:
|
|||
27.07.2018, 11:49 |
|
Изменение размера изображения
|
|||
---|---|---|---|
#18+
Лично я ничего посоветовать не могу, ибо сам не работал с этим. Я всего лишь тебе расписал, в чем проблема с размером, теперь ты вооружен и можешь идти в гугель ) ... |
|||
:
Нравится:
Не нравится:
|
|||
27.07.2018, 11:54 |
|
Изменение размера изображения
|
|||
---|---|---|---|
#18+
Shocker.ProЛично я ничего посоветовать не могу, ибо сам не работал с этим. Я всего лишь тебе расписал, в чем проблема с размером, теперь ты вооружен и можешь идти в гугель ) Т.е. ты стратег из анекдота про мышей и ёжиков (в худшем смысле этого слова)? Переполняешься своей значимостью для вселенной?.. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.07.2018, 12:01 |
|
Изменение размера изображения
|
|||
---|---|---|---|
#18+
Еще раз, ты продемонстрировал непонимание: КурдльКуда "сохраняй"? Мне его надо в BLOB упихать. БД без разницы, какое расширение ты придумаешь - один хрен это массив байт.Я попытался разъяснить, что не в расширении дело, а в формате. Не хочешь это понимать, можешь дальше жрать кактус, как те самые мыши из другого анекдота. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.07.2018, 12:12 |
|
Изменение размера изображения
|
|||
---|---|---|---|
#18+
КурдльP.S. Посоветовать сжать его в JPEG для меня равносильно совету мышам стать ёжиками Чувак, раз жрёшь кактус, запивай текилой. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.07.2018, 12:14 |
|
Изменение размера изображения
|
|||
---|---|---|---|
#18+
Курдль, В чем вопрос то? Есть формат изображения. Он больше влияет на размер чем сжатие в кавычках. Тебе шашечки или ехать? ... |
|||
:
Нравится:
Не нравится:
|
|||
27.07.2018, 12:37 |
|
Изменение размера изображения
|
|||
---|---|---|---|
#18+
Petro123Курдль, В чем вопрос то? Есть формат изображения. Он больше влияет на размер чем сжатие в кавычках. Тебе шашечки или ехать? Имею задачу: 1. Загрузить изображение от клиента на сервер 2. Уменьшить геометрические размеры изображения до определенных границ. Желательно с уменьшением занимаемого места. 3. Упихать изображение в БД 4. По запросу отдавать изображение пользователям. Проблема с п.2 часть II Я понимаю, что если открыть файл .tiff обычным фоторедактором и сохранить его, как .jpg - объем файла уменьшится. Я даже наслышан, как вершится это волшебство. Но повторить в своем проекте не могу. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.07.2018, 12:44 |
|
Изменение размера изображения
|
|||
---|---|---|---|
#18+
КурдльИмею задачу: 1. Решить где делать. На клиенте или сервере. Можно и там и там. 2. У меня фотоаппарат Принудительно выставлен в 1200 пикселей. Мне хватает. Это размер в пикселях. 3. Для экономии места тебе сказали - jpeg. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.07.2018, 12:50 |
|
Изменение размера изображения
|
|||
---|---|---|---|
#18+
КурдльЯ даже наслышан, как вершится это волшебство. Но повторить в своем проекте не могу. Держи волшебную палочку http://imageprocessor.org/ ... |
|||
:
Нравится:
Не нравится:
|
|||
27.07.2018, 12:51 |
|
Изменение размера изображения
|
|||
---|---|---|---|
#18+
hVostt, Спасибо! Сейчас гляну. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.07.2018, 12:59 |
|
Изменение размера изображения
|
|||
---|---|---|---|
#18+
все что под классическим .net работает по такому же коду что ты и написал можно уменьшит фото просто добавив Encoder.Quality и значение 1 до 100 чтоб качество задать. при 100 эт херня делает размеры больше. можно сделать чтоб была прогрессивная развертка Encoder.RenderMethod и RenderProgressive. смотрел сторонние библиотеки что на .net сделано одно и тоже +- То как это делает фотошоп не добиться, чтоб размер качество были как то адекватно. ну насчет библы что посоветовал хвост..тот же код только скучей настроек можете полазить. https://github.com/JimBobSquarePants/ImageProcessor/blob/develop/src/ImageProcessor/Imaging/Resizer.cs ... |
|||
:
Нравится:
Не нравится:
|
|||
27.07.2018, 13:16 |
|
Изменение размера изображения
|
|||
---|---|---|---|
#18+
handmadeFromRu, Спасибо! Блин, дежа вю! Вроде я этот код давным-давно препарировал. Проклятый склероз... ... |
|||
:
Нравится:
Не нравится:
|
|||
27.07.2018, 13:30 |
|
Изменение размера изображения
|
|||
---|---|---|---|
#18+
А вот этот пакет кто-нибудь использовал? Image Resizer ... |
|||
:
Нравится:
Не нравится:
|
|||
27.07.2018, 23:41 |
|
Изменение размера изображения
|
|||
---|---|---|---|
#18+
Курдль, Платный, слишком мощный функционал, чтобы ужать картинку. Из пушки по воробьям. Вот еще https://github.com/SixLabors/ImageSharp https://github.com/briandonahue/FluxJpeg.Core https://github.com/BitMiracle/libjpeg.net ... |
|||
:
Нравится:
Не нравится:
|
|||
27.07.2018, 23:50 |
|
Изменение размера изображения
|
|||
---|---|---|---|
#18+
hVosttКурдль, Платный, слишком мощный функционал, чтобы ужать картинку. Из пушки по воробьям. Вот еще Спасибо, посмотрю! А про "платный"... Как я мог не заметить?!! Сгрузил через NuGet, настроил, испытал - понравилось. Теперь ждать, что с карты деньги спишут? Кстати, вот более свежий пример использования Image Resizer А про "из пушки по воробьям" не понял. Ты ж мне присоветовал целый Image Processor ! ... |
|||
:
Нравится:
Не нравится:
|
|||
28.07.2018, 00:46 |
|
|
start [/forum/topic.php?fid=18&fpage=19&tid=1355167]: |
0ms |
get settings: |
10ms |
get forum list: |
13ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
40ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
53ms |
get tp. blocked users: |
1ms |
others: | 12ms |
total: | 149ms |
0 / 0 |