关于提高ArcScene加载影像图的分辨率(转)

it2022-05-05  96

问题描述如下:       对于同一张栅格数据(例如jpg、img),在ArcMap中加载后显示的时候,效果是和通常图片浏览器打开的没有什么差别。可是在ArcScene加载后栅格数据数据发生失真,即分辨率下降了,变得模糊。      如下图所示:      1、以下为ArcMAP下打开的效果:                                2、以下为ArcScene下打开的效果(同一张栅格数据):                             出现这种情况的原因:ESRI在三维显示的一种策略吧,为了提高数据的检索,以提高显示数率。对具体的空间栅格操作并没有发生变化。      1、如果是在桌面平台ArcScene上提高显示分辨率的话可以通过以下方式解决:      可以在Raster栅格图层中单击属性“layer properties”,然后在“Rendering” 选项卡中最下面的“Quality enhancement for raster image”,将右面的滑块“slider”到最high高的部分就可以了;      2、如果是自己写程序实现的话,可以通过如下解决方法:         注意点:I、更改分辨率后,如何让分辨率设置发挥作用。主要是刷新的问题(使用IActiveView刷新、而不能使用Iscene及IScenegraph刷新)                    II、分辨率数值在( 262144-268435456)范围之内,越大越清晰。使用I3DProperties.MaxTextureMemory 方法        具体代码:

            IRasterLayer pRLyr = axSceneControl1.Scene.get_Layer(0) as IRasterLayer;            IActiveView pActiveView = axSceneControl1.Scene as IActiveView;            if (pActiveView == null) return;

            ILayerExtensions pLayerExts = pRLyr as ILayerExtensions;                        for (int i = 0; i < pLayerExts.ExtensionCount; i++)            {                if (pLayerExts.get_Extension(i) is I3DProperties)                {                    I3DProperties p3DProps = pLayerExts.get_Extension(i) as I3DProperties;                     if (p3DProps != null)                    {                        p3DProps.MaxTextureMemory = 268435456;                        p3DProps.Apply3DProperties(pRLyr);                        pActiveView.PartialRefresh(esriViewDrawPhase.esriViewGeography, pRLyr, pActiveView.Extent);                    }                }            }

 

 

转自http://www.cnblogs.com/upDOoGIS/archive/2009/07/31/1535837.html

转载于:https://www.cnblogs.com/ITGIS/articles/1627315.html


最新回复(0)