Export/Rasterize 位图的 alpha 形状
Export/Rasterize alpha shape to bitmap
我从一些点(代码中给出的示例)构建了一个 alpha 形状,并希望将该形状导出为光栅图形格式。我只需要形状,不需要绘图标记(轴、刻度等)。
我只需要在白色背景上生成的三角形作为位图。
比例需要为 1 个单位 = 1 个像素。
x = [0 10 20 30 30 30 15];
y = [0 0 0 0 15 30 15];
shape = alphaShape (x',y');
plot (shape, 'FaceColor', 'black');
我还没有找到任何关于如何导出形状或如何栅格化它们的信息。有什么办法吗?
运行 在您的代码之后添加以下代码。
imgwidth = max(1, ceil(max(x) - min(x)));
imgheight = max(1, ceil(max(y) - min(y)));
ax = gca;
ax.Visible = 'off';
ax.XTickMode = 'manual';
ax.YTickMode = 'manual';
ax.ZTickMode = 'manual';
ax.XLimMode = 'manual';
ax.YLimMode = 'manual';
ax.ZLimMode = 'manual';
ax.Position = ax.OuterPosition;
af = gcf;
figpos = getpixelposition(af);
resolution=get(0, 'ScreenPixelsPerInch');
set(af, 'paperunits','inches', ....
'papersize',[imgwidth imgheight]/resolution, ....
'paperposition',[0 0 [imgwidth imgheight]/resolution]);
print(af,'out.png','-dpng',['-r',num2str(resolution)],'-opengl')
完成的事情:
- 获取数据范围并转换为图像尺寸。
- 关闭轴和刻度。
- Minimize/remove padding space 围绕实际内容。
- 将数据中的 1 个单元映射到输出图像中的 1 个像素。
未完成的事情:
- 保证纵横比。 (不过应该可以)
此屏幕截图显示非统一纵横比输出:
参考资料
Mathworks - Save Figure at Specific Size and Resolution
我从一些点(代码中给出的示例)构建了一个 alpha 形状,并希望将该形状导出为光栅图形格式。我只需要形状,不需要绘图标记(轴、刻度等)。
我只需要在白色背景上生成的三角形作为位图。 比例需要为 1 个单位 = 1 个像素。
x = [0 10 20 30 30 30 15];
y = [0 0 0 0 15 30 15];
shape = alphaShape (x',y');
plot (shape, 'FaceColor', 'black');
我还没有找到任何关于如何导出形状或如何栅格化它们的信息。有什么办法吗?
运行 在您的代码之后添加以下代码。
imgwidth = max(1, ceil(max(x) - min(x)));
imgheight = max(1, ceil(max(y) - min(y)));
ax = gca;
ax.Visible = 'off';
ax.XTickMode = 'manual';
ax.YTickMode = 'manual';
ax.ZTickMode = 'manual';
ax.XLimMode = 'manual';
ax.YLimMode = 'manual';
ax.ZLimMode = 'manual';
ax.Position = ax.OuterPosition;
af = gcf;
figpos = getpixelposition(af);
resolution=get(0, 'ScreenPixelsPerInch');
set(af, 'paperunits','inches', ....
'papersize',[imgwidth imgheight]/resolution, ....
'paperposition',[0 0 [imgwidth imgheight]/resolution]);
print(af,'out.png','-dpng',['-r',num2str(resolution)],'-opengl')
完成的事情:
- 获取数据范围并转换为图像尺寸。
- 关闭轴和刻度。
- Minimize/remove padding space 围绕实际内容。
- 将数据中的 1 个单元映射到输出图像中的 1 个像素。
未完成的事情:
- 保证纵横比。 (不过应该可以)
此屏幕截图显示非统一纵横比输出:
参考资料
Mathworks - Save Figure at Specific Size and Resolution