Одним из возможных решений является построение изображения с использованием IMSHOW , а затем печать всей фигуры в формате .eps с использованием PRINT :
img = imread('peppers.png'); %# A sample image
imshow(img,'Border','tight',... %# Display in a figure window without
'InitialMagnification',100); %# a border at full magnification
print('new_image.eps','-deps'); %# Print the figure as a B&W eps
Одним из недостатков этого решения является то, что если изображение слишком велико, чтобы поместиться на экране, IMSHOW уменьшит его до нужного размера, что уменьшит разрешение изображения на экране. Однако вы можете отрегулировать окончательное разрешение сохраненного изображения, используя параметр -r<number>
для функции ПЕЧАТЬ . Например, вы можете напечатать свою фигуру в виде цветного PostScript уровня 2 с разрешением 300 точек на дюйм, выполнив следующие действия:
print('new_image.eps','-depsc2','-r300');
РЕДАКТИРОВАТЬ: Если вы не можете использовать IMSHOW (либо потому, что у вас нет Toolbox для обработки изображений , либо потому что вы используете режим MATLAB это не позволяет), вот альтернативный способ создать и напечатать рисунок:
img = imread('peppers.png'); %# A sample image
imagesc(img); %# Plot the image
set(gca,'Units','normalized',... %# Set some axes properties
'Position',[0 0 1 1],...
'Visible','off');
set(gcf,'Units','pixels',... %# Set some figure properties
'Position',[100 100 size(img,2) size(img,1)]);
print(gcf,'new_image.eps','-depsc2','-r300'); %# Print the figure
Вы также можете взглянуть на эту документацию , чтобы увидеть, как печать работает без дисплея.