Figure automatically scales by 2

2 ビュー (過去 30 日間)
xiaojuezi
xiaojuezi 2020 年 4 月 6 日
コメント済み: xiaojuezi 2020 年 4 月 11 日
Hi, I set my figure as below:
figure(1)
set(gcf,'units','pixels','position',[0,0,512,512]);
However, the popped figure window has resolution 1024x1024. When I try to get the result as a matrix:
F = getframe (gcf,[0,0,512,512]);
[img, ~] = frame2im (F);
I would like to get img with resolution 512x512x3, but I get its value as 1024x1024x3.
Is there anyway to solve this problem?
  4 件のコメント
Walter Roberson
Walter Roberson 2020 年 4 月 7 日
For
  • Windows® systems in which the display dots-per-inch (DPI) value is set higher than 96
  • Macintosh systems with Apple Retina displays
When you set the Units property of a graphics or UI object to 'pixels', the size of each pixel is now device-independent on Windows and Macintosh systems:
  • On Windows systems, 1 pixel = 1/96 inch.
  • On Macintosh systems, 1 pixel = 1/72 inch.
(My Mac happens to be one of the last non-Retina models, so I am not affected by this... which also means that I cannot test work-arounds.)
xiaojuezi
xiaojuezi 2020 年 4 月 11 日
Thank you all ! I think it is a problem of macos, when explicitly setting '-r72' or '-r96' for different os, the problem is solved.

サインインしてコメントする。

回答 (0 件)

カテゴリ

Help Center および File ExchangeGraphics Objects についてさらに検索

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by