你如何改变用matplotlib绘制的图形的大小?
说我的图像大小为3841 x 7195像素.我想将图中的内容保存到磁盘,从而产生一个我指定的确切大小的图像(以像素为单位).
没有轴,没有标题.只是图像.我个人并不关心DPI,因为我只想指定图像在磁盘屏幕中所占的大小(以像素为单位).
我已经阅读了其他 主题,他们似乎都转换为英寸,然后以英寸为单位指定数字的尺寸,并以某种方式调整dpi.我想避免处理像素到英寸转换可能导致的精度损失.
我尝试过:
w = 7195
h = 3841
fig = plt.figure(frameon=False)
fig.set_size_inches(w,h)
ax = plt.Axes(fig, [0., 0., 1., 1.])
ax.set_axis_off()
fig.add_axes(ax)
ax.imshow(im_np, aspect='normal')
fig.savefig(some_path, dpi=1)
Run Code Online (Sandbox Code Playgroud)
没有运气(Python抱怨宽度和高度必须都低于32768(?))
一切从我所看到的,matplotlib需要到指定的数字大小inches和dpi,但我只关心像素的数字发生在磁盘上.我怎样才能做到这一点?
澄清:我正在寻找一种方法matplotlib,而不是与其他图像保存库.
我正在尝试将SVG转换为PNG(或任何栅格格式)并同时调整大小.
我以为我会使用ImageMagick执行此任务,但它似乎在调整大小之前转换为栅格.
这导致图像质量差.
有没有办法让ImageMagick在转换为栅格之前调整SVG的大小?
或者是否有一些其他工具可用于在调整大小后以程序方式将SVG转换为栅格?
或者,我可以使用其他工具吗?
目前我通过命令行使用ImageMagick:
convert file.svg -resize 100x100 file.png
Run Code Online (Sandbox Code Playgroud)
源图像"大小"未知,目标大小直到运行时才知道.
我有一个SVG格式的徽标图像,我想知道是否有一种生成多个不同大小的png文件的方法.
例如,我设置了20个不同的宽度和高度,它生成20个PNG文件.如果我必须一次做5张图片,那也没关系.
我安装了插图画家,无法弄清楚如何在其上执行此操作.
感谢您所有的帮助!
我有一个项目,我正在使用 React-pdf 生成文档。我想向此文档添加 SVG 徽标。根据React-pdf文档,他们有一个名为Svg的元素,它是一个定义新坐标系和视口的容器,它被用作SVG文档的最外层元素。据我了解,我应该以某种方式将普通的 svg 转换为 React-pdf 使用的元素类型,以便使其工作?(如果是这样,我怎样才能做到这一点?我可以使用某种外部库吗?)。我的代码如下(现在它给了我一个错误,因为我无法使用 React-pdf 中的图像来渲染 svg。如果我将 Image 元素与格式为 .jpeg 或 .png 的图像的 src 一起使用,它就可以工作。
import {
Page,
Text,
View,
Document,
StyleSheet,
Image,
Svg,
PDFViewer,
} from "@react-pdf/renderer";
...
return (
<div>
<PDFViewer style={{ width: "98vw", height: "98vh" }}>
<Document title="TITLE" author="AUTHOR">
<Page size="A4" style={styles.page}>
<View style={styles.section}>
<Svg>
<Image src={logoUrl} style={styles.logo} />
</Svg>
<Text>My PDF</Text>
</View>
</Page>
</Document>
</PDFViewer>
</div>
);
...
Run Code Online (Sandbox Code Playgroud) 我想将SVG转换为Web Worker中的PNG.我的问题是,DOM无法从Worker中访问,因此我无法将SVG绘制到画布或类似的东西.
svg ×4
matplotlib ×2
png ×2
python ×2
graph ×1
image ×1
imagemagick ×1
javascript ×1
plot ×1
react-pdf ×1
reactjs ×1
resize ×1
scipy ×1
web-worker ×1