快速业务通道

Solaris上的ArcMap Server 输出的图片质量很差的解决方案

作者 佚名技术 来源 操作系统 浏览 发布时间 2012-06-27

导致原因
当一个在ArcIMS Server机器上设置一个8位色彩深度时,在这个服务器上输出的图片就会颗粒感比较明显。

ArcIMS ArcMap server的缺省行为是使用虚拟显示服务器(XVFB),这个虚拟显示服务器模仿一个与物理显示无关的框架缓冲区。这个虚拟显示服务器的象素深度开始的时候缺省设置位24位深度。当用这个XVFB输出影像时,影像质量应该是比较高的。

写这篇文章主要是针对ArcMap Server的缺省行为发生了变化,不能使用XVFB了,或者当前的色彩深度不是24位了。

解决办法
下面的步骤用来确认是否设置了24位色彩深度和在必要的时候如何修改色彩深度。

切换到root用户下。

得到图形卡的信息:
#/usr/sbin/prtconf -F

确定这个图形卡支持24位:
#/usr/sbin/m64config -prconf

检查写着“possible depths”的行。

另外,一些机器允许使用下面的命令:
#/usr/sbin/fbconfig -pfconf

如果没有设置到24位色彩深度,改变色彩深度和分辨率
#/usr/sbin/m64config -res 1152×900 -depth 24

确认分辨率设置为低于或等于1152×900,PGX+ 框架缓存在高于1152×900分辨率时不支持24位色彩

永久改变这些设置,这样当系统启动时将使用24位图形。

一些机器允许使用下面的命令来设置24位色彩深度:
fbconfig -dev pfb0 -depth 24

创建下面的目录,如果它不存在:

#mkdir /etc/dt/config
#cp /usr/dt/config/Xservers /etc/dt/config/Xservers

执行下面的命令:
#cd /etc/dt/config
#vi Xservers

观察文件最后一行。应该是这样的:

:0 Local local_uid@console root /usr/openwin/bin/Xsun :0 -nobanner

将这行变为:
:0 Local local_uid@console root /usr/openwin/bin/X -dev /dev/fb0 defdepth 24

在这行通过指明defdepth 8,色彩深度能变为8位。

如果安装了双框架缓冲区,用下面的命令为每个缓冲区指明色彩深度:

:0 Local local_uid@console root /usr/openwin/bin/X -dev /dev/fb0 defdepth 24 -dev /dev/fb1 defdepth 24

保存文件,重新启动机器,重新启动Xserver 。通过下面的命令检查修改的结果:
#m64config -prconf



#fbconfig -prconf

这个将显示当前的深度: 24.

停止和启动ArcIMS进程:Tasker,Monitor和Application Server .然后这些变化就会生效。

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号