Я использую JSZip, чтобы создать программу, которая генерирует данные изображения из элемента canvas и помещает изображение в zip-файл.Положить генерированное изображение PNG в JSZip
Прямо сейчас, это превращает изображение холста в DataURL. Затем я избавляюсь от части полученной строки, которая говорит data:image/png;base64,
. Теперь ничего не осталось, кроме данных base64. Затем я использую atob
, чтобы изменить его на ascii.
Похоже на то, что оставшаяся строка в файле изображения должна работать, но сгенерированный текст ascii неверен. Многие его части верны, но что-то не так.
Вот мой код:
//screen is the name of the canvas.
var imgData = screen.toDataURL();
imgData = imgData.substr(22);
imgData = atob(imgData);
console.log(imgData);
Вот изображение полученного файла в формате PNG (в блокноте): incorrect text http://upurs.us/image/71280.png
И вот что должно выглядеть следующим образом: correct text http://upurs.us/image/71281.png
Как видите, есть небольшие отличия, и я понятия не имею, почему. Я абсолютно ничего не знаю о типе файла PNG или ASCII, поэтому я не знаю, куда идти отсюда.
Если вы хотите увидеть всю мою работу, вот проект: http://s000.tinyupload.com/download.php?file_id=09682586927694868772&t=0968258692769486877226111
EDIT: Моя конечная цель должна иметь программу, которая экспортирует каждый кадр холст анимации, так что я могу использовать их, чтобы сделать видео. Если кто-то знает программу, которая делает это, пожалуйста, опубликуйте ее!
найти функцию dataURLtoBlob, сохранять блобы в jszip вместо «бинарной строки» – dandavis
@dandavis Спасибо, но у меня нет абсолютно никаких знаний о том, как сгустки или Аякс работа (я думаю, вам нужно использовать AJAX использовать сгустки , но я понятия не имею). У вас есть предложения по сайтам, которые могут научить меня, как их использовать? Учебники по поиску в Google не доставили меня никуда. – Polygon