我试图链接静态libc.a和动态库.so失败.
我已经尝试过以下方法:
首先,我测试所有动态:
它正在工作(编译和执行)
其次我测试我想要的东西(动态lib和静态libc):
它正在编译,但在执行时,它是段错误的!一个strace显示它正在尝试访问libc.so !!!
最后,我尝试编译一个简单的程序,没有引用动态库
怎么做?
谢谢
有人知道微软在Paint中使用了哪些alogirhtm来缩小图片尺寸?
我正在尝试开发一个小软件(供个人使用)以缩减很多图片(用Java).在使用"内置"java函数作为NearestNeighbor,Bilinear和Bicubic之后,结果质量很差......我使用了Lanczos算法,它给出了更好的结果,但没有达到MS Paint结果:/
注意:使用的Paint版本是Windows 7之一,我使用的Lanczos实现是Millie项目LanczosResamplePlugin.java之一,而builtins java来自Graphics2D:
g2d.setRenderingHint(RenderingHints.KEY_INTERPOLATION, RenderingHints.VALUE_INTERPOLATION_BICUBIC);
g2d.setRenderingHint(RenderingHints.KEY_RENDERING, RenderingHints.VALUE_RENDER_QUALITY);
g2d.setRenderingHint(RenderingHints.KEY_COLOR_RENDERING, RenderingHints.VALUE_COLOR_RENDER_QUALITY);
g2d.setRenderingHint(RenderingHints.KEY_STROKE_CONTROL, RenderingHints.VALUE_STROKE_NORMALIZE);
Run Code Online (Sandbox Code Playgroud)
如果有人想要达到相同质量的结果,它将是有帮助的(对于我的结果图片,以及我的知识).
一些结果在这里:
(我没有发布NN,双线性和双三次结果,结果质量很差)
Bellow a landscape(在谷歌图片上找到).原始文件大小为1680x1050,并且草在原始文件中非常锐利(因此Paint结果似乎比Lanczos更好).
原始图像可以在这里查看:landscape-wallpaper-11a.jpg
Lanczos结果:
vs Paint结果:
另一张图片(人物照片),带有一些文字.您可以注意到,在Lanczos结果中,文本的可读性(不那么锐化)比在Paint结果中更少.此外,在黑色标题文本和带有白色文本的红色区域之间,在Lanczos结果中存在一些噪声,这在Paint结果中不存在.在底部,纸张上的网址在第一个结果上完全模糊/不可读,并且在Paint结果中可读.
Lanczos结果:
vs Paint结果:
我首先想假设MS使用2种算法:1降低比例,第2次通过锐化生成的图像?但是,由于最后一个示例中的底部网址仍然可读,可能不是因为缩小的缩小结果而导致的?
谢谢
编辑
好吧,我有点愚蠢...图片上的噪音是由于jpeg压缩质量(我在保存图片时没有在我的Java代码中设置).
下面是png的结果,所以噪音很大.但是结果仍然不像油漆那样可读.
Lanczos奶酪png
我正在尝试开发一个简单的“telnet/server”守护进程,它必须在新的套接字连接上运行一个程序。这部分工作正常。
但是我必须将我的新进程与 pty 相关联,因为该进程具有一些终端功能(如 readline)。
我开发的代码是(其中 socketfd 是新输入连接的新套接字文件描述符):
int masterfd, pid;
const char *prgName = "...";
char *arguments[10] = ....;
if ((pid = forkpty(&masterfd, NULL, NULL, NULL)) < 0)
perror("FORK");
else if (pid)
return pid;
else
{
close(STDOUT_FILENO);
dup2(socketfd, STDOUT_FILENO);
close(STDIN_FILENO);
dup2(socketfd, STDIN_FILENO);
close(STDERR_FILENO);
dup2(socketfd, STDERR_FILENO);
if (execvp(prgName, arguments) < 0)
{
perror("execvp");
exit(2);
}
}
Run Code Online (Sandbox Code Playgroud)
使用该代码,我的“prgName”的 stdin / stdout / stderr 文件描述符与套接字相关联(使用 ls -la /proc/PID/fd 查看时),因此,此进程的终端功能不起作用.
通过远程设备上的 ssh/sshd 连接进行测试,并执行“localy”(在 ssh 连接下)prgName,表明此进程“prgName”的 stdin/stdout/stderr fd 与 pty(等等)相关联此过程的终端功能运行良好)。
我做错了什么?如何将我的 socketfd 与 pty(由 …
我正在研究自己的pdf生成lib的Java,我遇到了一些字体/文本渲染问题.Java中显示的文本(字体,字间距,字符间距等)与PDF中显示的文本不同.
在我的下面的例子中,我使用的字体是"Time New Roman",这是PDF基本字体之一(所以我没有计算并将所有字体指标输出到pdf中).
具体来说,在我生成的PDF中,我有这样的:
BT
/F5 16 Tf
849 921 Td
(Normal Return Distribution) Tj
ET
Run Code Online (Sandbox Code Playgroud)
并且字体F5由对象29 0 R定义,它是(仅基本的,因此没有指定文本度量):
29 0 obj <</Type /Font /Subtype /Type1 /BaseFont /Times-Roman>>
endobj
Run Code Online (Sandbox Code Playgroud)
在Java中,我正在使用:
g2d.setFont(new Font("TimesRoman", Font.PLAIN, 16));
g2d.drawString("Normal Return Distribution", 849, 921);
Run Code Online (Sandbox Code Playgroud)
我已经将文本绘制成与文本边界匹配的矩形,并且在Java中它都可以(我在java中计算字符串边界),但在adobe acrobat reader中,文本比矩形大.
这是一个截图(我通过截取Adobe Acrobat Reader的屏幕截图显示我的PDF,并截取我的程序显示缓冲图像的截图;然后将pdf屏幕截图的部分复制/粘贴到我的矩形下面来构建它程序截图到MSPaint.为了具有相同的矩形大小,我必须以原始大小的65.5%在Adobe中显示pdf:

所以我们可以看到java en adobe中用来显示文本的字体是一样的.但是Adobe的文字看起来有点大.事实上,如果我叠加两个单词(一个来自java在adobe的一个上面),似乎单词间距是相同的,字母间距也是,但是一些字母有1个像素宽度差异.
为什么?我能做些什么来解决这个问题?我尝试使用字符间距(Tc运算符),字间距(Tw运算符),水平缩放(Tz运算符)来播放(pdf格式); 我认为它可以"奏效"; 但为什么两个程序中的缩放/间距/ ...不一样?这些(默认)参数不是Font文件的一部分(这是真正的类型)?以及如何正确检索它们(不手动将参数放入我的java代码中)?
谢谢
编辑
因此,正如您已经解释过的那样,我正在调查不使用pdf基本字体以确保Java和Adobe Reader使用相同的字体(ttf文件).但我有一个问题(同样的?).
在PDF输出中,我正在生成这样的字体:
31 0 obj <<
/Type /Font
/FirstChar 0
/LastChar 255
/Widths[1298 ... 646]
/Name /F7
/Encoding /WinAnsiEncoding
/Subtype /TrueType /BaseFont /Tahoma /FontDescriptor …Run Code Online (Sandbox Code Playgroud)