Javascript-форум (https://javascript.ru/forum/)
-   Events/DOM/Window (https://javascript.ru/forum/events/)
-   -   canvas toDataURL (https://javascript.ru/forum/events/59292-canvas-todataurl.html)

pogranpv 04.11.2015 12:01

canvas toDataURL
 
Как можно получить gif в base64 я просто пытаюсь сделать вот так
image = canvas.toDataURL('image/gif'); но в итоге получаю обычный
png http://prntscr.com/8yv1kd

laimas 04.11.2015 12:10

canvas не возвращает в этом формате, только jpeg или png по умолчанию.

pogranpv 04.11.2015 12:26

я пытаюсь кроп сделать для 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');

как мне его переписать или в какую сторону копать?

laimas 04.11.2015 12:39

Что переписать? Сам canvas "внутри" не работает с каким-то форматом, он работает с сырыми данными, в возвращать может только в двух форматах. Если заказать формат, который он не поддерживает 'image/gif', то он будет проигнорирован и возвращен формат по умолчанию. Выбирайте один из двух.

pogranpv 04.11.2015 12:42

я про то как переписать этот код не использую canvas

pogranpv 04.11.2015 12:47

как я понимаю мне просто надо обрезать фото не использую canvas

laimas 04.11.2015 12:50

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


Часовой пояс GMT +3, время: 19:23.