2015-06-18 4 views
1

Текущая ситуация У меня есть одно изображение (скажем, оригинальное изображение), восемь других небольших изображений аннотаций (скажем, A, B, C ....). У меня есть JSON в моей базе данных, где хранится позиция моих изображений аннотаций. Любое изображение аннотации может использоваться несколько раз.Добавить несколько изображений в одном изображении в php?

Мое требование Я должен добавить изображение аннотации на свое первоначальное изображение. Изображение аннотации может быть добавлено до 1000 раз с разными координатами (так как на моем исходном изображении необходимо добавить 8 изображений на 1000 изображений). Это окончательное изображение будет отправлено по электронной почте с дальнейшей бизнес-логикой.

Что я в настоящее время реализован и мой вопрос Я пытаюсь добавить единую аннотацию на моем исходном изображении, а затем сохранить его, а затем открыть его снова, а затем добавить еще одну аннотации, и этот цикл повторяется 1000 раз. Это замедляет мой сервер Azzure и зависает, и для моих мобильных пользователей требуется до 8 минут. Поскольку php не поддерживает многопоточность, мне нужно сгенерировать это изображение (с 1000 аннотациями) в один cron и, следовательно, задерживать мой ответ для запроса.

алгоритм, который я реализовал Позволь мне объяснить вам весь поток, как это работает сейчас ..

У меня есть один образ квартиры и я назначить одну задачу моего работник на конкретном х-координате изображения. когда я назначаю задачу 1, я создаю одно изображение без 1 и устанавливаю на исходное изображение квартиры на этой конкретной координате x-y и создаю новое изображение с добавлением аннотации № 1.

Теперь предположим, что я назначил 1000 задач для этого единственного работника, так что один и тот же процесс повторит 1000 раз и генерирует всего 2000 изображений.

сообщите мне, если вы еще не получили или не запросили запрос.

Благодаря передовой

+1

Что PhpMyAdmin нужно сделать с этим, и что самое главное, что вы пробовали до сих пор? – Mike

+0

Замедление, вероятно, связано с сохранением изображения после добавления каждой аннотации. Очевидно, это не нужно, так как вы должны сохранять окончательное изображение только один раз. – rostok

+1

@rostok Да, замедление связано с многократным сохранением и повторным открытием изображения в петле 1000. Можете ли вы предложить любую альтернативу? –

ответ

0

Я действительно не понимаю, этот запутанный вопрос, но я думаю, что я могу внести вклад в ответ. Загрузка, аннотирование и повторное сохранение любого изображения в 1000 раз сначала займет вечность, а во-вторых, если оно закодировано с потерями, уничтожить качество.

Я думаю, что правильный способ сделать это, чтобы создать MVG скрипт с ALL команды в нем и запустить скрипт раз загрузить изображение один раз, применить 1000 правок, а затем сохраните его один раз ,

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

image src-over x1,y1 'image1.jpg' 
image src-over x2,y2 'image2.jpg' 
...