Перейти к содержимому


Фотография

Добавление изображений в StructuredText через массив


Лучший Ответ Dispite , 10 March 2021 - 13:22

Schatten, Понял свою ошибку. Изначально пытался складывать скомпонованные изображения в массив, после чего выводить их (где массивы не допускались). После были попытки компоновать массив, ComposeText поддерживает массивы, но с параметром image так не получится. 
Решение: Скомпоновал изображения по одному и сложил в массив, после чего скомпоновал массив


 

Textovik = [];
_Assault = ["Weapon_arifle_Mk20C_plain_F", "Weapon_arifle_AK12_F", "Weapon_arifle_AKM_F", "Weapon_arifle_AKS_F", "Weapon_arifle_AK12U_F", "Weapon_arifle_CTAR_blk_F", "Weapon_arifle_Katiba_C_F", "Weapon_sgun_HunterShotgun_01_F", "Weapon_arifle_MX_F", "Weapon_arifle_MSBS65_black_F", "Weapon_arifle_MSBS65_Mark_F", "Weapon_arifle_SDAR_F", "Weapon_arifle_SPAR_01_blk_F", "Weapon_arifle_SPAR_03_blk_F", "Weapon_arifle_ARX_blk_F"];
{
_displayName = getText(configFile >> "CfgVehicles" >> _x >> "displayName");
_TypeConfig = _x;
_TypeSplit = _TypeConfig splitString "_";
_TypeAt1 = _TypeSplit deleteAt 0;
_TypeJoin = _TypeSplit joinString "_";
_Pitcture2 = getText(configFile >> "CfgWeapons" >> _TypeJoin >> "Picture");

_image = composeText [image _Pitcture2];
_image setAttributes ["size", "8"];
_imagecompose = composeText [_image];
Textovik = Textovik + [_image];


}foreach _Assault;




_composeImageArray = composeText Textovik; 
_ctrlSpisok ctrlSetStructuredText _composeImageArray;
Перейти к сообщению


  • Авторизуйтесь для ответа в теме
Сообщений в теме: 4

#1 OFFLINE   Dispite

Dispite

    Ефрейтор

  • Пользователи
  • 94 сообщений
  • Откуда:Не помню

Отправлено 09 March 2021 - 16:32

Здравствуйте! Есть ли возможность через цикл добавлять изображения в StructuredText?
Суть проблемы:
Количество изображений велико, чтобы прописывать их в ручную. ctrlSetStructuredText заменяет текст полностью.
Пытался вводить через цикл (извиняюсь за небрежность кода - тестовый вариант)

_Assault = ["Weapon_arifle_Mk20C_plain_F", "Weapon_arifle_AK12_F", "Weapon_arifle_AKM_F", "Weapon_arifle_AKS_F", "Weapon_arifle_AK12U_F", "Weapon_arifle_CTAR_blk_F", "Weapon_arifle_Katiba_C_F", "Weapon_sgun_HunterShotgun_01_F", "Weapon_arifle_MX_F", "Weapon_arifle_MSBS65_black_F", "Weapon_arifle_MSBS65_Mark_F", "Weapon_arifle_SDAR_F", "Weapon_arifle_SPAR_01_blk_F", "Weapon_arifle_SPAR_03_blk_F", "Weapon_arifle_ARX_blk_F"];
{
_displayName = getText(configFile >> "CfgVehicles" >> _x >> "displayName");
_TypeConfig = _x;
_TypeSplit = _TypeConfig splitString "_";
_TypeAt1 = _TypeSplit deleteAt 0;
_TypeJoin = _TypeSplit joinString "_";
_Pitcture2 = getText(configFile >> "CfgWeapons" >> _TypeJoin >> "Picture");


Textovik = Textovik + [_Pitcture2]


}foreach _Assault;


_image = composeText [image Textovik];
_image setAttributes ["size", "8"];
_imagecompose = composeText [_image];
_ctrlSpisok ctrlSetStructuredText _imagecompose;

Были попытки сначала выполнять composeText на каждое изображение, после чего добавлять в массив


Сообщение отредактировал Dispite: 09 March 2021 - 16:33

  • 0

#2 OFFLINE   Schatten

Schatten

    Ст. лейтенант

  • Пользователи
  • 1545 сообщений
  • Откуда:Минск, Беларусь

Отправлено 09 March 2021 - 18:14

Dispite, изменить в строке что-то конкретное может быть проблематично, так что

выполнять composeText на каждое изображение, после чего добавлять в массив

-- не вижу в этом ничего плохого.


Сообщение отредактировал Schatten: 09 March 2021 - 18:26

  • 1

#3 OFFLINE   Dispite

Dispite

    Ефрейтор

  • Пользователи
  • 94 сообщений
  • Откуда:Не помню

Отправлено 10 March 2021 - 13:01


-- не вижу в этом ничего плохого.

 

Я пробовал делать так, но не получается. Может ошибки допускаю.

 

_Assault = ["Weapon_arifle_Mk20C_plain_F", "Weapon_arifle_AK12_F", "Weapon_arifle_AKM_F", "Weapon_arifle_AKS_F", "Weapon_arifle_AK12U_F", "Weapon_arifle_CTAR_blk_F", "Weapon_arifle_Katiba_C_F", "Weapon_sgun_HunterShotgun_01_F", "Weapon_arifle_MX_F", "Weapon_arifle_MSBS65_black_F", "Weapon_arifle_MSBS65_Mark_F", "Weapon_arifle_SDAR_F", "Weapon_arifle_SPAR_01_blk_F", "Weapon_arifle_SPAR_03_blk_F", "Weapon_arifle_ARX_blk_F"];
{
_displayName = getText(configFile >> "CfgVehicles" >> _x >> "displayName");
_TypeConfig = _x;
_TypeSplit = _TypeConfig splitString "_";
_TypeAt1 = _TypeSplit deleteAt 0;
_TypeJoin = _TypeSplit joinString "_";
_Pitcture2 = getText(configFile >> "CfgWeapons" >> _TypeJoin >> "Picture");

_image = composeText [image _Pitcture2];
_image setAttributes ["size", "8"];
_imagecompose = composeText [_image];
Textovik = Textovik + [_image];


}foreach _Assault;





_ctrlSpisok ctrlSetStructuredText Textovik;

Сообщение отредактировал Dispite: 10 March 2021 - 13:02

  • 0

#4 OFFLINE   Schatten

Schatten

    Ст. лейтенант

  • Пользователи
  • 1545 сообщений
  • Откуда:Минск, Беларусь

Отправлено 10 March 2021 - 13:09

Пожалуйста Войдите или Зарегистрируйтесь чтобы увидеть скрытое содержание

не принимает массив.


  • 1

#5 OFFLINE   Dispite

Dispite

    Ефрейтор

  • Пользователи
  • 94 сообщений
  • Откуда:Не помню

Отправлено 10 March 2021 - 13:22   Лучший Ответ

Schatten, Понял свою ошибку. Изначально пытался складывать скомпонованные изображения в массив, после чего выводить их (где массивы не допускались). После были попытки компоновать массив, ComposeText поддерживает массивы, но с параметром image так не получится. 
Решение: Скомпоновал изображения по одному и сложил в массив, после чего скомпоновал массив


 

Textovik = [];
_Assault = ["Weapon_arifle_Mk20C_plain_F", "Weapon_arifle_AK12_F", "Weapon_arifle_AKM_F", "Weapon_arifle_AKS_F", "Weapon_arifle_AK12U_F", "Weapon_arifle_CTAR_blk_F", "Weapon_arifle_Katiba_C_F", "Weapon_sgun_HunterShotgun_01_F", "Weapon_arifle_MX_F", "Weapon_arifle_MSBS65_black_F", "Weapon_arifle_MSBS65_Mark_F", "Weapon_arifle_SDAR_F", "Weapon_arifle_SPAR_01_blk_F", "Weapon_arifle_SPAR_03_blk_F", "Weapon_arifle_ARX_blk_F"];
{
_displayName = getText(configFile >> "CfgVehicles" >> _x >> "displayName");
_TypeConfig = _x;
_TypeSplit = _TypeConfig splitString "_";
_TypeAt1 = _TypeSplit deleteAt 0;
_TypeJoin = _TypeSplit joinString "_";
_Pitcture2 = getText(configFile >> "CfgWeapons" >> _TypeJoin >> "Picture");

_image = composeText [image _Pitcture2];
_image setAttributes ["size", "8"];
_imagecompose = composeText [_image];
Textovik = Textovik + [_image];


}foreach _Assault;




_composeImageArray = composeText Textovik; 
_ctrlSpisok ctrlSetStructuredText _composeImageArray;

  • 0




Яндекс.Метрика