Jump to content
  • 0

Как сохранить несколько изображений, как одно.


ByKraB
 Share

Question

Здравствуйте.

Не уверен, что пишу в нужную тему. Делаю это не специально, а по незнанию )

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

Собственно сабж - как реализовать сохранение результата в виде изображения? И какие инструменты для этого использовать? Предполагаю, что с помощью js это сделать не представляется возможным.

Спасибо.

Link to comment
Share on other sites

10 answers to this question

Recommended Posts

  • 0
  On 5/28/2013 at 4:27 AM, ByKraB said:
Стоит задача - написать скрипт для подбора кейсов для iPhone. Т.е есть шаблон кейса, посетители могут изменять цвет кейса, добавлять текст и картинки. Картинки пользователь грузит сам со своего компа. После кастомизации кейса, готовый результат должен сохраняться в виде картинки.

Скорее всего, без операций на сервере сделать это будет нельзя.

  On 5/28/2013 at 6:59 AM, Great Rash said:
Что есть "кейс"? Чемодан?

Это типа чехлов, только из твёрдых материалов, чаще всего.

Link to comment
Share on other sites

  • 0
  On 5/28/2013 at 6:59 AM, Great Rash said:

Что есть "кейс"? Чемодан?

Загруженную картинку можно отобразить, используя Canvas API. При помощи него же можно сохранить результат. Только со старыми ИЕ будут проблемы.

К сожалению, пока не много опыта работы с Canvas. Подскажите пожалуйста, в какую сторону копать.

  On 5/28/2013 at 8:27 AM, Vin said:
Скорее всего, без операций на сервере сделать это будет нельзя.

Обработка на сервере тоже приемлима. Какой язык для этого подойдет?

Link to comment
Share on other sites

  • 0
  On 5/28/2013 at 3:07 PM, ByKraB said:

Подскажите пожалуйста, в какую сторону копать.

Ну для начала надо прочитать API. Выше nerv дал ссылку на отличную вводную статью, только не надо начинать с середины, а лучше пройти сюда. Потом надо прочитать про то как сохранить изображение, которое выводится канвасом, это дело легко гуглится по запросу "canvas save to file". Ну собственно и всё.

Для сохранения и обработки картинок, которые будет загружать пользователь юзайте PHP. Т.е. грузим картинку на сервер и аяксом показываем её на канвасе.

  • Like 1
Link to comment
Share on other sites

  • 0
  On 5/29/2013 at 7:20 AM, Great Rash said:
Для сохранения и обработки картинок, которые будет загружать пользователь юзайте PHP. Т.е. грузим картинку на сервер и аяксом показываем её на канвасе.

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

- прочитать файл

- микс в канвас

- канвас в изображение

Link to comment
Share on other sites

  • 0
  On 5/29/2013 at 8:25 AM, Great Rash said:
А как прочитать файл с компа юзера?

http://www.html5rocks.com/ru/tutorials/file/dndfiles/

  On 5/29/2013 at 8:25 AM, Great Rash said:
Кстати, какие требования по кроссбраузерности?

http://caniuse.com/filereader

http://caniuse.com/canvas

Link to comment
Share on other sites

  • 0
  On 5/29/2013 at 11:19 AM, Great Rash said:

Ну я про FileReader погуглил уже. Кроме него никаких способов и нет. Вопрос про кроссбраузерность адресовался топикстартеру, т.к. этот FileReader только с ИЕ 10 работает.

По кроссбраузерности, все человеческие браузеры + IE 8 включительно.

С загрузкой картинки не вижу проблемы. Обычная форма и input type="file". Работу с локальными файлами оставим более серьезным проектам ))

P.S Большое всем спасибо за помощь, советы и ссылки. Пойду копать все это богатство.

Edited by ByKraB
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share

  • Обсуждения

    • Актуальные контакты: Telegram: @Nikker_web E-Mail:   tarasevich.email@gmail.com Портфолио https://www.behance.net/d4d4186e Разрабатываю дизайн групп в соц сетях, сайтов, приложений, другой дизайн под заказ    
    • Актуальные контакты: Telegram: @Nikker_web E-Mail:   tarasevich.email@gmail.com   Разрабатываю дизайн групп в соц сетях, сайтов, приложений, другой дизайн под заказ   Портфолио https://www.behance.net/d4d4186e
    • Доброго всем времени суток. Прошу помощи. Научите принципу изменения футера. Движок Xenforo. Версия 2.2.10. Стиль дефолтный. Что именно нужно в итоге на фото примере. Мой шаблон app.footer less имеет следующее значение.  .p-footer { .xf-publicFooter(); a { .xf-publicFooterLink(); } } .p-footer-inner { .m-pageWidth(); .m-pageInset(); padding-top: @xf-paddingMedium; padding-bottom: @xf-paddingLarge; } .p-footer-row { .m-clearFix(); margin-bottom: -@xf-paddingLarge; } .p-footer-row-main { float: left; margin-bottom: @xf-paddingLarge; } .p-footer-row-opposite { float: right; margin-bottom: @xf-paddingLarge; } .p-footer-linkList { .m-listPlain(); .m-clearFix(); > li { float: left; margin-right: .5em; &:last-child { margin-right: 0; } a { padding: 2px 4px; border-radius: @xf-borderRadiusSmall; &:hover { text-decoration: none; background-color: fade(@xf-publicFooterLink--color, 10%); } } } } .p-footer-rssLink { > span { position: relative; top: -1px; display: inline-block; width: 1.44em; height: 1.44em; line-height: 1.44em; text-align: center; font-size: .8em; background-color: #4682B4; border-radius: 2px; } .fa-rss { color: white; } } .p-footer-copyright { margin-top: @xf-elementSpacer; text-align: center; font-size: @xf-fontSizeSmallest; } .p-footer-debug { margin-top: @xf-paddingLarge; text-align: right; font-size: @xf-fontSizeSmallest; .pairs > dt { color: inherit; } } @media (max-width: @xf-responsiveMedium) { .p-footer-row-main, .p-footer-row-opposite { float: none; } .p-footer-copyright { text-align: left; padding: 0 4px; // aligns with other links } }  
    • Нужны сайты с примерами верстки, типа https://css-tricks.com/. Типовые приемы и нестандартные на все случаи жизни. Накидайте ссылок.
×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue. See more about our Guidelines and Privacy Policy