How do I take a screenshot using MATLAB?
102 visualizzazioni (ultimi 30 giorni)
Mostra commenti meno recenti
MathWorks Support Team
il 11 Ott 2017
Modificato: MathWorks Support Team
il 1 Lug 2022
Is there a way that I could use MATLAB the same way that I use software such as snipping tool or print screen? For example, I would like to run a code and save an image from a rectangular box on the screen. Is this possible?
Risposta accettata
MathWorks Support Team
il 30 Giu 2021
Modificato: MathWorks Support Team
il 30 Giu 2021
This is possible to do in MATLAB by using Java libraries.
% Take screen capture
robot = java.awt.Robot();
pos = [0 0 400 400]; % [left top width height]
rect = java.awt.Rectangle(pos(1),pos(2),pos(3),pos(4));
cap = robot.createScreenCapture(rect);
% Convert to an RGB image
rgb = typecast(cap.getRGB(0,0,cap.getWidth,cap.getHeight,[],0,cap.getWidth),'uint8');
imgData = zeros(cap.getHeight,cap.getWidth,3,'uint8');
imgData(:,:,1) = reshape(rgb(3:4:end),cap.getWidth,[])';
imgData(:,:,2) = reshape(rgb(2:4:end),cap.getWidth,[])';
imgData(:,:,3) = reshape(rgb(1:4:end),cap.getWidth,[])';
% Show or save to file
imshow(imgData)
imwrite(imgData,'out.png')
Note: If you are looking to take a screenshot of a figure window, there are many other tools that are much better suited for this, for example the "print" and "getframe" functions, as well as several featured submissions to File Exchange such as "ScreenCapture" or "export_fig".
1 Commento
Yair Altman
il 22 Ott 2017
Modificato: MathWorks Support Team
il 1 Lug 2022
ScreenCapture: https://www.mathworks.com/matlabcentral/fileexchange/24323-screencapture-screenshot-of-component-figure-or-screen
export_fig: https://www.mathworks.com/matlabcentral/fileexchange/23629-export_fig
Più risposte (0)
Vedere anche
Categorie
Scopri di più su Environment and Settings in Help Center e File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!