2016-09-13 6 views
3

Я хотел бы установить размеры фигуры, чтобы быть больше, чем размер экрана, например:набора MATLAB цифры больше, чем экран

hf = figure('Units', 'pixels', 'Position', [0 0 2000 1500]); 

но мой размер экрана 1920х1080, цифра автоматически пересчитываются до размера который подходит для моего экрана.

Что можно сделать для предотвращения повторного масштабирования?

+0

Is это для печати? [Этот центральный поток MATLAB] (https://www.mathworks.com/matlabcentral/newsreader/view_thread/308834) может быть полезен. – excaza

+0

@excaza: наткнулся на эту нить (и многие другие), прежде чем публиковать вопрос здесь)). Я хочу, чтобы фиксированная сумма недвижимости создавала кучу подзаговоров. Таким образом, я знаю, что эта цифра будет выглядеть одинаково при переходе с моего ноутбука на рабочую станцию. Также бы получить воспроизводимость при сохранении цифр при запуске matlab с различными дисплеями. – serigado

+1

Если вы хотите, чтобы фигура выглядела одинаково, вам, вероятно, лучше использовать единицы «Нормализованные». – excaza

ответ

0

Видимо, это было зафиксировано в 2017a (или чуть раньше), поскольку этот код прекрасно работать на Win10:

screen = get(0,'ScreenSize'); 
f = figure('Units', 'pixels','Position',screen*2); 

Приведенное цифра действительно больше, чем экран:

>> screen 
screen = 
      1   1  1920  1080  
>> f.Position 
ans = 
      2   2  3828   991 
+0

Пробовал снова на 2017b и 2017a на Win 8.1 После запуска ваших линий f.Position дает мне [2 124 1916 999] – serigado

+0

@serigado Это проблема с версиями Windows, которые не являются Win 10. Я пробовал это на Win Server 2012 с Matlab 2017a и получил результат, похожий на ваш. – EBH