2012-06-04 11 views
0

Так что я просто получил стажировку в этой компании, и в качестве побочного проекта они хотят, чтобы я перепроектировал одну из своих веб-страниц. На их веб-страницы, у них есть изображение, как в следующем:динамически создавая диаграмму/макет

Crude Layout Diagram

В основном, это образ макета комнаты, с разными серверами (белые квадраты), которые используются для тестирования. Когда вы нажмете на один из белых квадратов, он переместит вас на страницу, связанную с этим сервером, и так далее. Проблема в том, что если они перепроектируют комнату или добавляют серверные ящики и т. Д., Им нужно переделать новое изображение, а затем изменить довольно немного координат в плохо написанном perl-скрипте. (Я думал, что это плохой способ сделать что-то, и я рекомендовал сначала разобрать идею всего изображения, но они хотели сохранить ее). Во всяком случае, есть ли более простой способ сделать это с помощью кода, так что, если изменения нужно изменить, это связано только с добавлением/вычитанием строк кода? Я думал использовать какую-то комбинацию html/css, но я не знаю, есть ли лучший способ сделать это ... Я хочу сделать диаграмму более динамичной.

спасибо.

+2

В вашем источнике данных храните каждый сервер в качестве идентификатора сервера, пары координат, длины и ширины. Затем визуализируйте изображение программно. Используйте сохраненные координаты на карте изображения. Возможно сохранение изображения и обнаружение изменения в контрольной сумме координат для визуализации сохраненного изображения. Именно здесь большинство авторов говорят: «Реализация остается практикой для читателя». ;) – DavidO

+0

Но как я могу сделать изображение «программным»? И мне нравится идея. – de1337ed

+0

Итак, я сделал несколько дополнительных исследований, и, оказывается, я могу сделать что-то похожее на то, что я говорю, на то, что называется библиотекой изображений python (PIL), но проблема в том, что мне не разрешено устанавливать дополнительные библиотеки на веб-сервер (у них много политик ограничения программного обеспечения). Вы видите другой путь? – de1337ed

ответ

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