войти зарегистрироваться

ASP.NET MVCASP.NET MVC: Привязка данных модели, которые содержат изображения

Привязка данных(binding) является достаточно удобным средством ASP.NET MVC. Удобно оно в первую очередь тем, что позволяет скрыть реализацию преобразования данных между данными из модели и данными HTTP запроса.
В своих проектах я часто сталкиваюсь с необходимостью сохранять различные данные типа blob и image. В этой статье я бы хотел показать, как можно легко организовать и использовать привязку данных из модели, которые содержат различные изображения. Для примера я взял учебный проект MVC Music Store и решил его подправить — добавить возможность изменять изображение обложки музыкального альбома. При написании данной статьи, я использовал версию APS.NET MVC 3 и Razor.

Персональные блоги Javascript: Отправка изображения на канвасе на сервер

Здравствуйте хабровчане.

Решил я сделать отправку изображения с канваса на сервер.
А что из этого получилось смотрите под катом.

FirefoxFirefox 4 beta 5, вероятно, будет поддерживать SVG в качестве простых иллюстраций (img в HTML, image в SVG) и фонов (background-image в CSS)

Сравнительно недавно в черновике пособия «Firefox 4 for developers» («Firefox 4 для разработчиков») явилась пометка о том, что Firefox 4 будет поддерживать SVG в HTML-элементах <img>, и в SVG-элементах <image>, и в CSS-свойствах background-image.

Вероятной первой бета-реализацией этой поддержки станет Firefox 4 beta 5, в худшем же случае — одна из последующих бета-версий четвёртого Файерфокса.
Подробности изложены в Багзилле — в багах № 272288 («Allow SVG source for <svg:image>»), № 276431 («external SVG not loaded from img tag») и № 231179 («SVG images in CSS»).
Будущее лучезарно, не правда ли?

Я пиарюсьСегодня PicFor.Me исполняется 2 года

Вот и опять в стране праздник, нашему детищу Социальные закладки на картинки ДВА года, дату рождения мы считаем тот день когда был написан первый пост о нашем сервисе.

image
За год наша аудитория выросла в 4 раза, а количество закладок уже измеряться миллионами.

Мы добавили регистрацию/авторизаю через twitter, facebook, google.
Наши пользователи могу объединяться в группы, так что можно собирать картинки вместе с другими пользователями, пример такой группы Faces (там более 400 участников ).

PythonBing + Python, поиск изображений

Bing+PythonИногда бывает нужно набрать картинок по определённой тематике, чтобы иметь возможность выбрать из существующего набора нужную и т.д. Текущие поисковики дают такую возможность, но надо открывать браузер, переходить по страницам, работать мышкой и, вообщем, заниматься этим. Хотелось бы иметь консольную утилиту «запустил и забыл» для набора нужных картинок. Рассматривается Bing API, начало работы на Python и их связка для поиска изображений.

GoogleImage Swirl или новая визуализация поиска изображений

image
Видимо ребята из Google не собираются останавливаться на достигнутых результатах в поиске изображений.
Всего месяц назад механизм Google Similar Images (анализ картинок не по названию, а по содержанию) оценили все пользователи интернет-гиганта.
Теперь же все желающие могут ознакомиться с Водоворотом Изображений. С ним ваши результаты поиска изображений соединены вместе в 12 различных групп.
Google Image Swirl работает приблизительно для 200 000 изображений.

image

.NETМанипулируем System.Drawing.Bitmap

Класс System.Drawing.Bitmap очень полезен в инфраструктуре .NET, т.к. позволяет считывать и сохранять файлы различных графических форматов. Единственная проблема – это то, что он не очень полезен для попиксельной обработки – например если нужно перевести битмап в ч/б. Под катом – небольшой этюд на эту тему.

Персональные блоги CakePHP. Behaviors — измена!

Как обычно я не ищу лёгких путей, и как обычно сталкиваюсь с задачами не рассмотренными в book.cakephp.org ;-)

Всегда, самой хлопотной частью проекта для меня являлся paginate и всё что с ним связано (выборки, сортировки).

И вот сейчас, я в очередной раз наступил на грабли, причём ответа на мой вопрос — нет.

Итак, в чём состояла задача:

Model A — hasMany Model B
Model B — belongsTo Model A

Model B — actAs ('Image')

Image — чудесный behavior Евгения Томенко, который служит для связки записи в модели с сохранённой картинкой.

В случае запроса Model B ->… любой формы — behavior срабатывал как часы, и я получал нужные мне данные, в данном случае — картинки.

Однако, когда стала задача построить запрос вида

Model B -> Model -> A ( с условиями, где выборка идёт по полям Model A)

оказалось — что поиск и педжинация работают отлично, однако в результатах связанной Model B — нет и следа работы behavior… Я просто получал поля модели, без нужных мне «искривлений».

Никакие танцы-пляски с Contain, порядком запроса и т.д. — ни к чему не привели. Ответа так же нет и в гуглегруппе.

А сегодня я нашёл ещё одни грабли, но уже с behavior Translate. Если воспользоваться инструкцией, и сделать как там советуется — всё работает отлично, кроме мой любимой педжинации…

А именно — сортировать по полям, расположенным в i18n таблице — нельзя. Не получится. Только по тем полям, которые присутствуют в явном виде. Вот так.

Я, конечно, не хочу сказать, что сортировка построенная через i18n таблицу будет работать быстро, или в принципе будет работать вменяемым образом. Может и не будет. Но в таком случае, если необходимо как-то сортировать результаты кроме id,created — то никаких шансов использовать этот behavior у вас нет. Он не сработает. :(

И если первые грабли можно обойти вторым запросом (сначала получив список id Model B, а потом затребовать непосредственно из Model B все записи (тут-то behavior сработает). То во вторых граблях, единственный способ сортировать — обходиться без коробочного behavior.

2All: Если кто-то решил данные вопросы — поделитесь решением в комментариях. Речь идёт о CakePHP 1.2.3.8166

Я пиарюсь Pict.com — новая версия хостинга изображений.

Всем привет!

Сегодня была запущена новая версия бесплатного хостинга изображений Pict.com.
Надеемся, что обновленный Pict.com понравится Хабравчанам.



GoogleGoogle и imagesize

Если кто не знает, то в гугле можно задавать искомый размер картинки в пикселях, например:
imagesize:256x256 filetype:png firefox