2012-04-17 3 views
1

Я хочу создать изображение с помощью javascript: нарисовать линии, дуги, текст и т. Д. На каком-нибудь холсте, как объект а затем преобразовать его (в клиенте) в base-64 png string.Как сгенерировать изображение в javascript и преобразовать его в png в IE7 (без холста html5 и без работы на стороне сервера)

Я знаю, что могу это сделать, используя html5 canvas (используя canvas.toDataUrl («image/png»)), но мне нужно что-то, что будет работать и в IE7/IE8.

Решение должно быть полностью на стороне клиента, поэтому получение SVG, отправка его на сервер и преобразование его с Apache Batik не будет работать для меня.

Я нашел то, что преобразует растровое изображение (2d массив пикселей) в формате PNG - http://www.xarg.org/2010/03/generate-client-side-png-files-using-javascript/ так что если есть какая-то библиотека, которая может генерировать растровое изображение (или имеют getPixelAt (х, у) функции) от какого-то вектора графические данные, которые могут быть полезны.

Спасибо, Йоав

+0

Вы можете попробовать excanvas обеспечить поддержку html5 холст для IE - http://code.google.com/p/explorercanvas/ – PinnyM

+0

Я смотрел на исследователю холст. Похоже, я не могу экспортировать холст в png (как я могу на обычном холсте), который должен. я что-то упустил? –

ответ

1

Вы можете попробовать fabricjs. Он использует холст, но совместим с IE7/8 (благодаря библиотеке Excanvas) и имеет все функции, которые вы ищете.

Недостаточно документации, но Kangax, разработчик довольно активен здесь и в проекте Google group, поэтому любые сомнения должны быть быстро решены.

+0

Выглядит многообещающе, я проверю это. –

+1

Это не работает, к сожалению. Excanvas не поддерживает toDataUrl(), который является способом экспорта холста в строку base64. –

0

Я искал также решение. Оригинальный javascript pnglib довольно приятный, но не компилируется без ошибок в современных средах javascript. Я исправил ошибки, преобразовал их в ES6 и использовал типизированный массив, чтобы сделать его быстрее. Посмотрите:

https://github.com/IjzerenHein/pnglib-es6

 Смежные вопросы

  • Нет связанных вопросов^_^