Как отредактировать свойство рисунка, сохраненного в файле .fig, не отображая его
Я хочу отредактировать определенное свойство фигур MATLAB, сохраненных в виде файлов .fig (формат по умолчанию для MATLAB).
Я создаю много графических рисунков в скрипте, поэтому я предпочитаю не отображать их, делая фигуру по умолчанию невидимой сset(0,'DefaultFigureVisible','off')
, Это устанавливает'Visible'
свойство любой новой фигуры'off'
, Таким образом, я могу создавать, редактировать, сохранять и т. Д. Фигуры без необходимости их рисовать, что может обременять ЦП, ГП и их память. Я сохраняю рисунки как файлы .fig, используяsaveas(handle,'filename.fig')
команда. Это также сохраняет'Visible'
свойство, которое является проблемой, когда я хочу открыть рисунок (например, дважды щелкнув файл в проводнике Windows). Он загружает фигуру, но не отображает ее, потому что ее'Visible'
свойство установлено в'off'
.
Я хочу, чтобы все файлы .fig были сохранены с установленным свойством'on'
, но как я могу добиться этого без отображения (= налогообложения) цифры? Момент я используюset(handle,'Visible','on')
, фигура нарисована.
В общем, я хочу отредактировать файл на более низком уровне, чем когда он загружается в MATLAB как фигура.
Я думаю, что это можно сделать следующим образом, но я не знаю точно, как этого добиться. Можно загрузить данные .fig, как если бы это был файл .mat, используяs=load('filename.fig','-mat');
, Это загружает структуруs
содержит некоторые поля, которые содержат все данные фигуры, свойства и т. д. Теперь в этой неизвестной структуре должен быть найден дескриптор фигуры и'Visible'
свойство, которое идет вместе с отредактированной ручкой.
Можно ли это сделать без рисования фигуры?
Я пытался, но не удалось, используяfopen
, fread
и их друзья.
Кто-нибудь знает, как сделать то, что я хочу сделать?