ディスプレイ全画面で1ピクセル単位の描画を行いたい
20 ビュー (過去 30 日間)
古いコメントを表示
ディスプレイ全画面の輝度値を指定したいのですが,一部の領域しか指定できません.
スクリーンサイズを取得し,そのサイズ分の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 件のコメント
回答 (1 件)
Hernia Baby
2022 年 8 月 20 日
以下の部分を参考にしました
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
参考
カテゴリ
Help Center および File Exchange で Subplots についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!