Есть ли способ программно рисовать изображения в Anylogic? Единственный метод, который я нашел до сих пор, - добавить элемент изображения в проект, указать его образ из файловой системы, а затем получить его из кеша во время выполнения (например, getPresentation().getPanel().getImageCache().getCachedImage(this, "/wandering_elephants/", "Altitudes.PNG", 500, 500);
) и нарисовать его.Программно нарисовать изображение в Anylogic
Но это кажется краской в заднице, если вам нужно создавать изображения с переменным размером. Я искал элемент Drawable в палитре, но, похоже, эта базовая функциональность отсутствует.
не совсем уверен, на что вы нацеливаетесь? Чего вы хотите достичь? – Benjamin
Мне нужно динамически рисовать некоторые «карты» для агентов, чтобы показать информацию о мире. Например, в примере «Блуждающие слоны» в Anylogic они показывают динамическую карту местности, генерируемую динамически. Для этого автор использует элемент Image из pallete с каким-то пустым файлом PNG. Затем он загружает это изображение из кеша, как упоминалось в моем вопросе, и рисует его графику. Таким образом, очевидно, что существует необходимость в каком-то общем элементе, который можно извлечь. Необходимо подделать какое-то пустое изображение, а затем получить его из кеша только для того, чтобы получить возможность рисовать, похоже, ужасный перебор и отсутствие необходимой функции. –
ОК, извините, но я все еще не совсем понятен. Есть несколько фоновых изображений, которые вы хотите показать в зависимости от некоторых условий модели? Поскольку объект Image может содержать как можно больше изображений (предварительно загруженных во время разработки в свойствах). Затем вы можете переключать, какой из них должен быть видимым, доступ к ним по индексу. Вы попробовали это? – Benjamin