Как прочитать часть изображения с помощью RMagick? - PullRequest
1 голос
/ 19 февраля 2011

Я пытаюсь загрузить большое изображение и обрезать его по плиткам очень быстро и с низким потреблением памяти.Примером может служить сценарий gdal2tiles http://www.maptiler.org/, но gdal2tiles не выводит плитки так, как я хочу.Поэтому я решил разработать свою собственную версию, используя ruby ​​и RMagick (Imagemagick). (Gdal2tiles едва использует какую-либо память).

Что я заметил при использовании RMgick, так это то, что мне сначала нужно загрузить все изображение в память, что вродеубивает мою систему.Есть ли способ прочитать часть файла изображения, манипулировать им, а затем прочитать остальные ??Или, может быть, я должен сделать это другим способом или использовать другие библиотеки.

1 Ответ

0 голосов
/ 02 марта 2011

Первое, что нужно сделать, это вызвать только дескруктивные методы.Не звоните img.crop, но img.crop!, это сэкономит память.

Но вас может заинтересовать одна из альтернатив.Проблема с памятью, которую вы описываете, почти неизбежна с RMagick.По этой причине для RMagick существует довольно много альтернатив .

Поскольку вам нужны только простые задачи, я думаю, что следующие библиотеки полезны для вас, потому что они чрезвычайно оптимизированы, но их набор функций ограничен.

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