ディスプレイ全画面で​1ピクセル単位の描画​を行いたい

6 次查看(过去 30 天)
ssss
ssss 2022-8-20
评论: ssss 2022-8-21
ディスプレイ全画面の輝度値を指定したいのですが,一部の領域しか指定できません.
スクリーンサイズを取得し,そのサイズ分の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) 内
どうぞよろしくお願いします.

回答(1 个)

Hernia Baby
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
  1 个评论
ssss
ssss 2022-8-21
ありがとうございます.
無事全画面描写できました.
指定する座標軸の原点と長さを指定していなかったこと,
タイトルを消さないことでfigureのouterpositionが内側に来ていたことが
原因だったようです.
お陰様で作成できたプログラムは以下になります.
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';
%%%%%%%%%%%%%%%%%%%%%%%追加%%%%%%%%%%%%%%%%%%%%%%%
%タイトルの消去
f.NumberTitle = 'off';
%figureの外枠位置指定
f.Units = 'normalized';
f.OuterPosition = [0 0 1 1];
%座標軸の設定
ax = axes;
ax.Position = [0 0 1 1];
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%作成した画像を表示
imshow(image);
end

请先登录,再进行评论。

类别

Help CenterFile Exchange 中查找有关 グラフィックス オブジェクトのプロパティ 的更多信息

产品


版本

R2021b

Community Treasure Hunt

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

Start Hunting!