我写了一个简单的Python扩展模块来模拟一个3位模数转换器.它应该接受一个浮点数组作为其输入,以返回相同大小的输出数组.输出实际上由量化输入数字组成.这是我的(简化)模块:
static PyObject *adc3(PyObject *self, PyObject *args) {
PyArrayObject *inArray = NULL, *outArray = NULL;
double *pinp = NULL, *pout = NULL;
npy_intp nelem;
int dims[1], i, j;
/* Get arguments: */
if (!PyArg_ParseTuple(args, "O:adc3", &inArray))
return NULL;
nelem = PyArray_DIM(inArray,0); /* size of the input array */
pout = (double *) malloc(nelem*sizeof(double));
pinp = (double *) PyArray_DATA(inArray);
/* ADC action */
for (i = 0; i < nelem; i++) {
if (pinp[i] >= -0.5) {
if (pinp[i] < 0.5) …Run Code Online (Sandbox Code Playgroud) 我一直在尝试使用Inkscape为我的科学论文准备图稿图形.我使用LaTeX,我需要将我的数据准备为高质量的封装PostScript(EPS)图像.工单如下.首先,我使用matplotlib绘制我的图形的一部分并以EPS格式保存它们.其次,我启动Inkscape并导入EPS文件.使用Inkscape我组合一个数字,留下所需的对象,杀死不需要的东西,并添加一些标记.所以我曾经在Windows中使用CorelDraw时做过,但现在我在Linux上工作.
不幸的是,Inkscape会破坏EPS文件:它会改变颜色并且不会保存所有对象.在过去的几年里,我试图寻找解决方案,但我找不到人们的抱怨.投诉(在网上找到)与从svg导出到eps或返回时的"不正确的字体渲染"有关.(对我来说这不是问题 - 文本总是可以表示为曲线).
我目前在Mandriva Linux 2010工作并使用Inkscape版本0.47 r22583(2010年1月14日).在某处我读到这些问题可能是由一些过时的cairo版本引起的 - 我的是1.9.14.我花了很多精力去建造更新的开罗(1.12.14),但我还远没有达到目的.我在系统中共存的32位和64位库中感到困惑......
我将非常感谢任何有类似问题的人,并且可能会进一步向解决方案迈进.让我来说明问题.
对不起,我没有足够的声望点既不发布图片也不插入2个以上的链接,所以,请查看我的livejournal页面中的图片副本:
http://benkev.livejournal.com/1093.html
数字标题如下.
(1)以下是我想在一张图中合并的三个eps图像:
(2)这是我在Inkscape中导入图像并以SVG格式保存后得到的结果.注意颜色和分辨率失真.另外,我在感兴趣的特征周围绘制了三个红色圆圈.
(3)这是我将这个数字导出到EPS文件时得到的结果.人们可以注意到三个红色圆圈中的一个消失了:只留下两个圆圈!
谢谢!