Matlab设置图形的打印尺寸
Matlab setting print size of figure
我知道有很多关于 matlab 打印的问题,但我似乎无法弄明白。
我想 print/save 我的身材在 17x23cm 打印。分辨率600dpi.
我试过了
set(gcf, 'Units', 'centimeters', 'Position', [0 0 17 23], 'PaperUnits', 'centimeters', 'PaperSize', [17 23]);
然后我使用 export_fig 脚本并执行以下任一操作
export_fig Test.pdf -pdf -transparent;
export_fig Test.pdf -pdf -transparent -r600;
不管怎样,我得到的身材是 ~14x19 厘米。而且分辨率只有100dpi
所以我想,对于一个 17 厘米的图形来说,600dpi 是 ~4,000 像素。因此,让我们将屏幕上的数字设置为那么多像素
set(gcf, 'Units', 'pixels', 'Position', [0 0 4000 5500]);
但这不起作用。我想是因为我的显示器不够大,无法支持那么多像素,所以无法显示。然后我无法保存它,因为这个数字甚至没有出现。
我知道我可以在 gimp 或 illustrator 或其他软件中调整大小。但是我真的不想。
如何以特定分辨率 (600dpi) 以特定打印尺寸 (17cm) export/save pdf/eps 图表?
使用 export_fig
打印将裁剪生成的图形以删除任何白色 space(您的图形没有内容的地方)。因此,输出将小于您指定的 Position
。
要防止这种情况,您可以使用 -nocrop
选项。
export_fig('Test.pdf', '-pdf', '-nocrop', '-transparent', '-r600')
指定分辨率实际上只是为了对光栅图像产生影响,对于矢量图形格式(如 PDF),这应该不会真正产生影响。您如何确定 PDF 的 "resolution"?
另一种选择是仅使用内置 print
函数来创建图像
print('myimage.pdf', '-dpdf', '-loose', '-r600')
这里的 -loose
选项将确保它使用松散的边界框并且不会裁剪图形的空白区域,从而生成您指定尺寸的图像。
我知道有很多关于 matlab 打印的问题,但我似乎无法弄明白。
我想 print/save 我的身材在 17x23cm 打印。分辨率600dpi.
我试过了
set(gcf, 'Units', 'centimeters', 'Position', [0 0 17 23], 'PaperUnits', 'centimeters', 'PaperSize', [17 23]);
然后我使用 export_fig 脚本并执行以下任一操作
export_fig Test.pdf -pdf -transparent;
export_fig Test.pdf -pdf -transparent -r600;
不管怎样,我得到的身材是 ~14x19 厘米。而且分辨率只有100dpi
所以我想,对于一个 17 厘米的图形来说,600dpi 是 ~4,000 像素。因此,让我们将屏幕上的数字设置为那么多像素
set(gcf, 'Units', 'pixels', 'Position', [0 0 4000 5500]);
但这不起作用。我想是因为我的显示器不够大,无法支持那么多像素,所以无法显示。然后我无法保存它,因为这个数字甚至没有出现。
我知道我可以在 gimp 或 illustrator 或其他软件中调整大小。但是我真的不想。
如何以特定分辨率 (600dpi) 以特定打印尺寸 (17cm) export/save pdf/eps 图表?
使用 export_fig
打印将裁剪生成的图形以删除任何白色 space(您的图形没有内容的地方)。因此,输出将小于您指定的 Position
。
要防止这种情况,您可以使用 -nocrop
选项。
export_fig('Test.pdf', '-pdf', '-nocrop', '-transparent', '-r600')
指定分辨率实际上只是为了对光栅图像产生影响,对于矢量图形格式(如 PDF),这应该不会真正产生影响。您如何确定 PDF 的 "resolution"?
另一种选择是仅使用内置 print
函数来创建图像
print('myimage.pdf', '-dpdf', '-loose', '-r600')
这里的 -loose
选项将确保它使用松散的边界框并且不会裁剪图形的空白区域,从而生成您指定尺寸的图像。