ディスプレイ全画面で1ピクセル単位の描画を行いたい
5 views (last 30 days)
Show older comments
ディスプレイ全画面の輝度値を指定したいのですが,一部の領域しか指定できません.
スクリーンサイズを取得し,そのサイズ分のimageを表示させようとしたのですができませんでした.
なので,全画面を輝度値で指定する方法を教えていただきたいです.
実際のプログラムは以下になります.
function drawFigure
%ディスプレイサイズ取得
dhisplay = groot;
x = dhisplay.ScreenSize();
width = x(3);
height = x(4);
%ディスプレイ全画面分のサイズを輝度値0(黒)で取得
image = zeros(height,width);
close;
f = figure;
%メニューバーを無くして全画面描画領域に変更(消しても描画領域にならない?)
f.MenuBar = 'none';
%背景を白にすることで描画領域を確認(目視)
f.Color = [1 1 1];
%全画面表示
f.WindowState = 'fullscreen';
%作成した画像を表示
imshow(image);
%自動でサイズ補正されるので実際のピクセル数で指定したつもり
truesize(f,[height,width]);
end
このプログラムを実行すると,以下のエラーが出ます.
% 警告: イメージが大きすぎて画面に収まりません。56% の倍率で表示します。
% > truesize>Resize1 (行 184) 内
% truesize (行 50) 内
% drawFigure (行 23) 内
どうぞよろしくお願いします.
0 Comments
Answers (1)
Hernia Baby
on 20 Aug 2022
以下の部分を参考にしました
function drawFigure
%ディスプレイサイズ取得
dhisplay = groot;
x = dhisplay.ScreenSize();
width = x(3);
height = x(4);
%ディスプレイ全画面分のサイズを輝度値0(黒)で取得
image = zeros(height,width);
close;
% 図示
imshow(image);
% ハンドルの取得
hFig = gcf;
hAx = gca;
% Figureをフルスクリーンにする
set(hFig,'units','normalized','outerposition',[0 0 1 1]);
% axesをフルスクリーンにする
set(hAx,'Unit','normalized','Position',[0 0 1 1]);
% ツールバーを隠す
set(hFig,'menubar','none')
% タイトルを消す
set(hFig,'NumberTitle','off');
% 背景は白
set(hFig,'Color','w')
% フルスクリーン
set (hFig,'WindowState','fullscreen')
end
See Also
Categories
Find more on Subplots in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!