如何在 pspicture 中包含图形?

如何在 pspicture 中包含图形?

我尝试将图形文件放入 pspicture 中,如下所示:

\documentclass{article} 

\usepackage[crop=off]{pstricks}
\usepackage{auto-pst-pdf}
\usepackage{graphicx}
\psset{unit=1mm}

\begin{document}

\begin{pspicture}(100,100)
    \psframe[fillcolor=green,fillstyle=solid](0,0)(70,70)
    \rput(10,10){
        \includegraphics[width=50mm,height=50mm]{graphics.jpg}
    }
\end{pspicture}

\end{document}

PDF 文件仅显示一个绿色方块,并且我收到一条错误消息:

Error: /undefined in Operand stack: Execution stack: %interp_exit .runexec2 --nostringval-- --nostringval-- --nostringval-- 2 %stopped_push --nostringval-- --nostringval-- --nostringval-- false 1 %stopped_push 1977 1 3 %oparray_pop 1976 1 3 %oparray_pop 1960 1 3 %oparray_pop 1852 1 3 %oparray_pop --nostringval-- %errorexec_pop .runexec2 --nostringval-- --nostringval-- --nostringval-- 2 %stopped_push --nostringval-- Dictionary stack: --dict:1199/1684(ro)(G)-- --dict:0/20(G)-- --dict:120/200(L)-- --dict:96/300(L)-- --dict:46/200(L)-- Current allocation mode is local Last OS error: No such file or directory Current file position is 88848 GPL Ghostscript 9.18: Unrecoverable error, exit code 1

system returned with code 256

当我将“includegraphics”行放在“pspicture”外面时,我没有收到错误消息,但图形与绿色方块分开显示。

我怎样才能使 includegraphics 在 pspicture 中工作?

答案1

众所周知的方法如下。用 进行编译xetex

\documentclass[pstricks,preview,margin=10mm]{standalone} 
\usepackage{graphicx}
\newbox\temp
\savebox\temp{\includegraphics[scale=.5]{bobo.jpg}}

\psset
{
    xunit=\dimexpr\wd\temp/10\relax,
    yunit=\dimexpr\ht\temp/10\relax
}

\begin{document}
\begin{pspicture}[showgrid=top](-5,-5)(5,5)
    \rput(0,0){\usebox\temp}
    \psframe[linecolor=red](-5,-5)(5,5)
\end{pspicture}
\end{document}

在此处输入图片描述

答案2

经过阅读和谷歌搜索后,我找到了以下解决方案:

  • 将图像转换为 eps 格式(例如使用 gimp)
  • 使用“epsfig”而不是“includegraphics”。

以下是编辑后的示例,其中标记了修改后的行:

\documentclass{article} 

\usepackage[crop=off]{pstricks}
\usepackage{auto-pst-pdf}
\usepackage{epsfig}   %%%%%%%%%%%%%%
\psset{unit=1mm}

\begin{document}


\begin{pspicture}(100,100)
\psframe[fillcolor=green,fillstyle=solid](0,0)(70,70)
\rput[bl](10,10){
   \epsfig{file=graphics.eps,width=50mm,height=50mm}%%%%%%%%%%%%%%

}
\end{pspicture}

\end{document}

相关内容