gpt4 book ai didi

maple - 如何将表情导出到图像文件,使其大小自动调整为表情大小?

转载 作者:行者123 更新时间:2023-12-02 01:48:38 30 4
gpt4 key购买 nike

我正在使用 Maple 专家 Acer 一段时间前在 usenet 上发布的原始代码,它允许将表达式导出到图像文件。

效果很好,但我不知道如何修改它来解决这个问题:必须告诉代码要生成的图像的宽度。我将在我的 latex 文档中使用这些图像。但是我事先不知道图像的高度,因为这取决于表达式的大小。因此,如果我告诉它使用 width=700,则会在表达式上方和下方产生过多的空白。

表达式将是 ODE 的解。是否有一个选项可以用来告诉 Maple 生成一个适合自动导出图像大小的图像,周围没有不需要的空白区域?在正常分辨率下?

我认为 2 个示例将有助于说明问题。我首先运行 Acer 代码。这未设置为生成 .eps 文件。将扩展名更改为其他 gif 或 jpeg 以制作其他类型。

restart:

exportexpression:=proc( ee, filenm::string,
{width::posint:=640},
{fontsize::posint:=11} )
uses plots;
plotsetup('eps','plotoutput'=filenm,
'plotoptions'=cat("width=",width));
print(display(textplot([0,0,typeset(ee)],
'font'=["times","roman",fontsize]),
'axes'='none',
'view'=-0.5..0.5,'scaling'='constrained'));
fclose(filenm):
plotsetup('default');
NULL;

end proc:

然后在单独的执行单元中,我写(上面的代码需要先保存在某个文件夹中,以便在同一文件夹中生成图像)

ode:=diff(y(x),x)+(y(x))^2=a*x+b;  
r:=dsolve(ode,y(x));
fn:=".\\file2.eps";
exportexpression( r, fn, width=700, fontsize=12 );

这会生成此图像文件 file2.eps :

Mathematica graphics

您可以看到浪费了多少空白。更改代码以使用 width=300 现在生成

Mathematica graphics

这不是我想要的。

我真正想要的是使用固定分辨率生成 eps 图像,但对其进行裁剪,以便图像上方或下方没有浪费的空白区域。称为收缩以适合,或类似的?即 eps 边界框应将表达式紧紧包围。

我什至不知道如何让它使用 width=7in,所以现在它使用像素。稍后我会将这些图像读取到 Latex 中,如果需要,我可以稍后使用 Latex \includegraphics[scale=] 命令缩放它们。

在 Windows 上使用 Maple 18.01。

Maple ps plot

Maple plotsetup

最佳答案

这里的主要问题是您的 eps 文件有黑色边框,因此裁剪软件无法正常工作。我建议输出一个没有边框的 postscript 文件,然后使用 system 命令调用 ps2eps 来裁剪图像。在这种情况下,程序如下。

exportexpression:=proc( ee , filenm :: string , { width :: posint := 640 } , 
{ fontsize :: posint := 11 } )

uses plots;

local f :

f := cat( filenm , ".ps" ) :

plotsetup( 'ps' , 'plotoutput' = f , 'plotoptions' = cat( "width = " , width ,
", noborder" ) ) :

print( display( textplot( [ 0 , 0 , typeset( ee ) ] ,
'font' = [ "times" , "roman" , fontsize ] ) , 'axes' = 'none' ,
'view' = -0.5 .. 0.5 , 'scaling' = 'constrained' ) ) :

fclose( f ) :

system( cat( "ps2eps -B -f " , f ) ) :

plotsetup( 'default' ) :

return :

end proc :

请注意,您应该使用不带扩展名的文件名来调用它。

关于maple - 如何将表情导出到图像文件,使其大小自动调整为表情大小?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24093684/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com