Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Трудности с выводом разных изображений в одинаковом размере.
|
|||
|---|---|---|---|
|
#18+
Добрый день! Наверное многие сталкивались с подобными сложностями т.к. в интернете много касающегося данной тематики, но только всё как-то по разному(или оч. сложно, или оч. критикуют) и я не могу разобраться, поэтому прошу ваших подсказок. Из базы беру изображения обработчиком .ashx вот так Код: plaintext 1. Задача: в базе разные изображения , но на странице их надо выводить, то 300х200, то 500х300 и как-то чтобы они не искажались визуально(css-ом сплюснуто или растянуто получается). Может как то заготовить белые картинки нужных размеров а потом на них по центру накладывать свои изображения ? Эх если-бы мой обработчик мог отдавать нужный прямоугольник.... Код обработчика(в книге вычитал): Код: 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. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.12.2014, 08:22 |
|
||
|
Трудности с выводом разных изображений в одинаковом размере.
|
|||
|---|---|---|---|
|
#18+
AspUser, держи! http://imageprocessor.org/ подготовит тебе изображение в любом размере на лету (обрежет, скукожит или растянет по необходимости), накинет фильтры, накинет водяные знаки, закеширует и т.д. попробуй разобраться самостоятельно, там примеры осилит ребёнок. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.12.2014, 09:33 |
|
||
|
Трудности с выводом разных изображений в одинаковом размере.
|
|||
|---|---|---|---|
|
#18+
Спасибо! классная штука! Установил проверил что к картинкам которые лежат в проекте все срабатывает, т.е. ImageProcessor.Web установлен и работает! А вот к моему обработчику не понимаю как применить. http://localhost:27514/img/catalog/1.png?width=600&height=250 вот так работает! как к такой ссылке http://localhost:27514/Pages/ImageDB.ashx?id=494 применить ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.12.2014, 14:07 |
|
||
|
Трудности с выводом разных изображений в одинаковом размере.
|
|||
|---|---|---|---|
|
#18+
AspUser, Смотри http://imageprocessor.org/imageprocessor-web/#extending следующий раздел: IImageService The IImageService defines methods and properties which allow developers to extend ImageProcessor to retrieve images from alternate locations to process. View the source code to see examples. позволяет расширить веб-процессор для того, чтобы забирать картинки из базы данных. кстати, очень удобно, так как либо делает большую часть работы по кешированию. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.12.2014, 15:05 |
|
||
|
Трудности с выводом разных изображений в одинаковом размере.
|
|||
|---|---|---|---|
|
#18+
Извините конечно что дальше выношу вам мозг, но чайник видать я полный. Понимаю что надо реализовать интерфейс IImageService чтобы как-то воспользоваться/реализовать метод Task<byte[]> GetImage(object id); но не понимаю как правильно или где правильно его реализовать , то-ли в своем обработчике public class ImageDB : IHttpHandler, IImageService , то-ли мне отдельный класс надо делать , могу конечно получить byte[]-картинки с базы данных, но не понимаю как я потом должен запрашивать <img src="" /> что-бы получить картинку с нужными width=600&height=250 ? Может вам не трудно подсказать как будет примерно выглядеть <img src="" /> и я пойму как надо реализовывать ? или может просто на словах теорию подскажите ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.12.2014, 16:01 |
|
||
|
Трудности с выводом разных изображений в одинаковом размере.
|
|||
|---|---|---|---|
|
#18+
AspUser, Вот живой пример https://github.com/JimBobSquarePants/ImageProcessor/blob/master/src/TestWebsites/MVC/TestImageService.cs Скачай весь проект (TestWebsites/MVC), и посмотри как там устроено, если что-то будет непонятно, спрашивай. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.12.2014, 16:15 |
|
||
|
Трудности с выводом разных изображений в одинаковом размере.
|
|||
|---|---|---|---|
|
#18+
Джим Боб Квадратные Штаны плохого не посоветует )) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.12.2014, 16:15 |
|
||
|
Трудности с выводом разных изображений в одинаковом размере.
|
|||
|---|---|---|---|
|
#18+
Разбирался долго, но так и не понял как из БД указать картинку <img src="??" /> что бы пользоваться удобствами ImageProcessor ... хоть бери да перегоняй все изображения в каталог проекта.... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.12.2014, 21:59 |
|
||
|
Трудности с выводом разных изображений в одинаковом размере.
|
|||
|---|---|---|---|
|
#18+
AspUser, ну как же, по ссыльке https://github.com/JimBobSquarePants/ImageProcessor/blob/master/src/TestWebsites/MVC/TestImageService.cs реализация хендлера для картинок вот в этом кусочке Код: c# 1. 2. 3. 4. задаётся имя хендлера, можешь поменять на что-нибудь своё, даже хоть на ImageDB.ashx фунцию GetImage(object id) пишешь свою, ну там достаёшь из базы изображение и возвращаешь в виде массива байт. ну и всё. не забудь в веб конфиге подключить модуль, изображения получай так: http://localhost:27514/ testprovider.axd ? id=1 &width=600&height=250 красным выделил заданное тобой имя хендлера, зелёным выделил как передавать ID изображения, которое ты из базы будешь вытаскивать. проще ну прям некуда. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.12.2014, 22:21 |
|
||
|
Трудности с выводом разных изображений в одинаковом размере.
|
|||
|---|---|---|---|
|
#18+
hVosttпроще ну прям некуда. Спасибо это блин я просто чайник полный. У меня опять есть надежда . А для WebForms тоже все должно получиться ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.12.2014, 22:26 |
|
||
|
Трудности с выводом разных изображений в одинаковом размере.
|
|||
|---|---|---|---|
|
#18+
может кому нада, матрица для правильного оверлея, ибо который в библиотеке -- кривой: Код: c# 1. 2. 3. 4. 5. 6. 7. 8. opacity -- ето прозрачность. типерь можно накладывать полупрозрачные PNG и получать на выходе качественное изображение ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.12.2014, 22:29 |
|
||
|
Трудности с выводом разных изображений в одинаковом размере.
|
|||
|---|---|---|---|
|
#18+
AspUserhVosttпроще ну прям некуда. Спасибо это блин я просто чайник полный. У меня опять есть надежда . А для WebForms тоже все должно получиться ? да, без проблем. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.12.2014, 22:30 |
|
||
|
Трудности с выводом разных изображений в одинаковом размере.
|
|||
|---|---|---|---|
|
#18+
AspUserМожет как то заготовить белые картинки нужных размеров а потом на них по центру накладывать свои изображения ? А какой практический смысл в заготовленных белых картинках? Можно на html-странице сделать обычный div с белым фоном и в него ложить рисунок, вписаный в те самые 300х200, при запросе ресайзя единожды на сервере оригинал каким-нить GetThumbnailImage() и пихая полученый thumb в вечный кэш. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.12.2014, 04:04 |
|
||
|
Трудности с выводом разных изображений в одинаковом размере.
|
|||
|---|---|---|---|
|
#18+
p.s. imageprocessor избавляет от кучи своей писанины кода по всем этим вписываниям, паддингам, кропам, растяжениям и прочих вариантах к примеру при том же ресайзе, что весьма экономит время. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.12.2014, 05:22 |
|
||
|
Трудности с выводом разных изображений в одинаковом размере.
|
|||
|---|---|---|---|
|
#18+
Застрял на шаг дальше. Реализовал метод, по url попадаю, отладчиком видно что возвращается(return buffer;) правильное количество байтов(так же как и ImageDB.ashx),но картинка не выводится и только в кеше(\app_data\cache\5\3\b\a\e\1) кусок какого-то рваного jpeg появляется(маленький размер и не открывается). Теперь гадаю то-ли метод GetImage неправильно реализован, то-ли где-то в настройках ImageProcessor что-то надо? Код: c# 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.12.2014, 22:49 |
|
||
|
|

start [/forum/topic.php?fid=18&msg=38837623&tid=1356800]: |
0ms |
get settings: |
6ms |
get forum list: |
8ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
2374ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
28ms |
get tp. blocked users: |
1ms |
| others: | 255ms |
| total: | 2686ms |

| 0 / 0 |
