Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 04.11.2015, 12:01
Аспирант
Отправить личное сообщение для pogranpv Посмотреть профиль Найти все сообщения от pogranpv
 
Регистрация: 07.08.2014
Сообщений: 37

canvas toDataURL
Как можно получить gif в base64 я просто пытаюсь сделать вот так
image = canvas.toDataURL('image/gif'); но в итоге получаю обычный
png http://prntscr.com/8yv1kd
Ответить с цитированием
  #2 (permalink)  
Старый 04.11.2015, 12:10
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,990

canvas не возвращает в этом формате, только jpeg или png по умолчанию.
Ответить с цитированием
  #3 (permalink)  
Старый 04.11.2015, 12:26
Аспирант
Отправить личное сообщение для pogranpv Посмотреть профиль Найти все сообщения от pogranpv
 
Регистрация: 07.08.2014
Сообщений: 37

я пытаюсь кроп сделать для gif, а не подскажете как мне тогда сделать. вот у меня есть код
var x = $frame.position().left - $image.position().left,
                y = $frame.position().top - $image.position().top,
                frameWidth = $frame.width(),
                frameHeight = $frame.height(),
                canvas = $('<canvas/>').attr({width: frameWidth, height: frameHeight})[0],
                image = null;
            canvas
                .getContext('2d')
                .drawImage(
                    $image[0], 
                    0, 
                    0,  
                    sourceImage.width, 
                    sourceImage.height,
                    -x,
                    -y,
                    $image.width(),
                    $image.height()
                );
            image = canvas.toDataURL('image/gif');

как мне его переписать или в какую сторону копать?
Ответить с цитированием
  #4 (permalink)  
Старый 04.11.2015, 12:39
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,990

Что переписать? Сам canvas "внутри" не работает с каким-то форматом, он работает с сырыми данными, в возвращать может только в двух форматах. Если заказать формат, который он не поддерживает 'image/gif', то он будет проигнорирован и возвращен формат по умолчанию. Выбирайте один из двух.
Ответить с цитированием
  #5 (permalink)  
Старый 04.11.2015, 12:42
Аспирант
Отправить личное сообщение для pogranpv Посмотреть профиль Найти все сообщения от pogranpv
 
Регистрация: 07.08.2014
Сообщений: 37

я про то как переписать этот код не использую canvas
Ответить с цитированием
  #6 (permalink)  
Старый 04.11.2015, 12:47
Аспирант
Отправить личное сообщение для pogranpv Посмотреть профиль Найти все сообщения от pogranpv
 
Регистрация: 07.08.2014
Сообщений: 37

как я понимаю мне просто надо обрезать фото не использую canvas
Ответить с цитированием
  #7 (permalink)  
Старый 04.11.2015, 12:50
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,990

На клиенте без canvas этого не сделать. Можно на клиенте определить только координаты, передать их на сервер с изображением, а сервер обрежет.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Canvas toDataURL darl Общие вопросы Javascript 7 30.05.2017 06:28
Повтор фото (getUserMedia(),HTML5 Canvas) aspex Элементы интерфейса 1 27.12.2014 16:46
Canvas картинка с обесцвечиванием. cheba Общие вопросы Javascript 9 31.05.2013 09:13
Создание экземпляра Canvas не затрагивая HTML Tails Общие вопросы Javascript 2 09.03.2012 13:55
Добавить на canvas еще один елемент greengarlic Общие вопросы Javascript 5 22.09.2010 10:16