Сохранение больших изображений, созданных в Flex - PullRequest
1 голос
/ 26 ноября 2009

Я пытаюсь сделать очень большое изображение, которое было сделано динамически в Flash Player (размер изображения 2400 на 12 000 пикселей), и столкнулся с некоторыми очень серьезными проблемами ... Позвольте мне показать, как изображение вначале доберитесь до этого размера:

Пользователь добавляет элементы на холст, а затем, когда пользователь заканчивает, холст масштабируется до 2400 пикселей в ширину и ~ 12 000 пикселей в высоту. Проблема возникает, когда я пытаюсь сохранить образ на жесткий диск. Теперь я не знаю, повлияет ли это на рекомендованное исправление, но визуализированное изображение не будет сохранено на жестком диске, оно будет отправлено на сервер. Я знаю о пределе ~ 4050 пикселей в Flash Player и думал, что смогу обойти это, обрезав изображения с помощью метода ImageSnapshot.captureBitmapData () и сохранив требуемую переменную Rectangle ниже 4000 пикселей, а затем повторяю это большое изображение до конца. где окончательные изображения будут соединены позже. Однако ... Как я уже говорил, ошибка возникает, когда она достигает 'fileReference.save (pngImage);' метод ... Кто-нибудь еще сделал что-то подобное?

1 Ответ

1 голос
/ 26 ноября 2009

Пробовали ли вы, если fileReference.save работает вообще (например, с изображениями меньшего размера, например, высотой 100 пикселей)? Кажется, что данные изображения, возможно, будут преобразованы в строковые данные, поэтому могут быть другие ограничения, о которых вы не знаете в данный момент (ваши данные несжатого изображения будут около 86 МБ, так что даже файл PNG с хорошим сжатием может около 10 МБ, на данный момент вы пытаетесь сэкономить треть этого, но 3 МБ все еще достаточно велики).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...