请教MapX图层偏移问题,准确的说应该是图层上图元的偏移!

问题描述

一个很棘手的问题,查了很多,但是还没有查到一个有效的实现方法,希望各位朋友能够帮忙指导指导。项目中用的MapX,我现在有两个图层,两个图层在相同的坐标下,具有不同的图元。现在有一需求,需要设置另一图层上的图元以像素来偏移,即指定的偏移距离单位为像素,并且在试图被放大或缩小时,偏移后的图元和原来的图元还是相差几个像素的距离。我现在的实现方法就是循环图层上所有的图元,然后根据像素的距离,比如几个像素,来计算偏移后的座标,然后offset。为了保持偏移后的像素距离,于是在放大或缩小视图时,再触发重新偏移操作!总体上这样的实现,效率很低!在用户指定偏移操作的时候,还可以接受,因为这个操作不是很频繁,关键就是放大或缩小视图这个操作,比较频繁,如果每次都因为这重新偏移一次,效率明显感觉低了,现在想请教下各位,有没有什么好的实现方法,即保证:图元按像素偏移,并且在进行视图放大或缩小操作时能够保持高效,又或者还有什么更高效的偏移实现方法!考虑到各个图元的偏移方向得根据前后图元点的轨迹来确定,固不能通过偏移整个图层来实现!希望高手赐教,谢谢!

解决方案

解决方案二:
1.要加快速度把你频繁操作的图层设定SetAnimationLayer2.改动图元前设定staLr.BeginAccess(miAccessReadWrite);结束的时候设定staLr.EndAccess();//切忌可以提速3.把不必要的操作都移除你改动图元的函数特别是不能有多次大规模申请内存和释放内存的操作。4.尽量的简化图元本身的标示复杂度5.如果可以先计算能够显示在屏幕上的图元偏移其他不能显示的不要计算也不要便宜等他们在视图当中的时候再计算基本上就是上面这些方法了仅供参考。

时间: 2024-09-29 15:36:51

请教MapX图层偏移问题,准确的说应该是图层上图元的偏移!的相关文章

ps新手教程之学习图层的基础知识-玩转ps的图层操作技巧

  ps新手教程之学习图层的基础知识-玩转ps的图层操作技巧,艺术家使用ps,摄影师使用ps,数码玩家们也使用ps,与此同时,web设计湿更是离不开PS !该软件气势空前鼎盛,无人不知无人不晓.图层面板是自由独立于ps工作空间里面的一个面板.在这个神奇的图层里面,我们可以缩放.更改颜色.设置样式.改变透明度,等等等等.一个图层代表了一个单独的元素,设计师可以任意更改之.图层可以说在网页设计中起着至关重要的作用.他们用来表示网页设计的元素,他们是用来显示文本框.图像.背景.内容和更多其他元素的基底

c语言-请教各位大神,为什么这个代码在普中板子上运行不了呢

问题描述 请教各位大神,为什么这个代码在普中板子上运行不了呢 #include #define uchar unsigned char #define uint unsigned int sbit A=P3^0; sbit B1=P3^1; sbit C=P3^2; sbit kin1=P0^0; sbit kin2=P0^1; sbit kin3=P0^2; sbit kin4=P0^3; sbit kout1=P0^4; sbit kout2=P0^5; sbit kout3=P0^6; s

新创建图层-当在ps中选定了选区后,再创建图层,那么这个选区自动复制到图层中了吗?

问题描述 当在ps中选定了选区后,再创建图层,那么这个选区自动复制到图层中了吗? 在使用ps时,无论是使用选区工具或者钢笔工具设定了选区后,再创建图层, 那么这个选区就会被算动复制到图层中,大家有没有发现这个情况?

vb+mapx,使用refresh为什么刷新不了动态图层?

问题描述 问题描述:经过简化后,我就是想实现动态图层的刷新,以便实时显示gps的当前位置.但是现在如论用object.refresh还是feature.update总是无法刷新.已经搞了整整两天了,快要崩溃了.希望大家帮帮忙,明天项目要开会.代码如下:PrivateSubcmdGPS_Click()DimMobileFtrAsNewMapXLib.FeatureDimpntAsNewMapXLib.PointDimTempLayerAsMapXLib.LayerSetTempLayer=Map1

请教 MapX中 ConvertCoord在相同参数下 传回的值却相差很大

问题描述 具体问题我在Delphi版面也发了下,请大家移步去看一下帮助我解决掉这个问题http://topic.csdn.net/u/20100730/10/f31b7ca5-a17b-4cee-9a16-bd29326fbeb9.html?seed=290900798&r=67361679#r_67361679谢谢 解决方案 解决方案二:该回复于2010-08-02 17:17:20被版主删除解决方案三:继续顶一下

《点睛:ActionScript3.0游戏互动编程》——第2章 融会贯通—大话图层样式与滤镜2.1 Photoshop图层样式初体验

第2章 融会贯通-大话图层样式与滤镜 Photoshop和Flash都是杰出的软件,前者静得从容,后者动得洒脱,它们以不同的方式诠释着计算机时代的艺术.下面我们就从Photoshop的图层样式开始我们的艺术创作之路吧! 2.1 Photoshop图层样式初体验 我们打开Photoshop CS5,新建一个尺寸为600*100(单位:像素)的空白文档,使用[横排文字工具]E:\desktop\AS3 Text Effects\snapshots\第4章\4.1\横排文字工具.tif在画布上拖出一个

请教高手:empty,null和""在性能上的区别?

问题描述 stingstr1=String.Empty;stringstr2=null;stringstr3="";我只知道Empty在内存中有指向,不分配存储空间.null只是有个string类的引用,不指向任何地方.而""有指向,同时分配一个长度为空的存储空间.那他们在性能上到底有什么不同,写程序的时候一般用哪个比较好呢? 解决方案 解决方案二:几乎没有什么大的区别stingstr1=String.Empty;//有占用空间stringstr2=null;//没

求助vb mapx 下创建新图层 图元 用以在地图上画点

问题描述 我的毕业设计最后一部分内容要实现这样一个功能.根据已有的经纬度坐标在gst地图上画点显示位置要用VBMAPX实现现在我载入了地图但是不会画点网上搜资料应该要创建一个图层图元自己一直没能实现在论坛也发了好几个帖子了问题一直没能得到解决希望懂的人帮我一下QQ295986724 解决方案 本帖最后由 lyon1210 于 2010-06-07 10:02:47 编辑解决方案二:只有VC的代码:CMapXPointspts;//创建一个点集pts.CreateDispatch(pts.GetC

Photoshop图层初识

如果我们要改变下左图上方的蓝色小球位置,就需要先创建一个符合小球大小的选区,这并不困难,可以使用椭圆选框工具来创建一个正圆的选区(可通过[空格_CTRL_单击图像]放大图像).之后使用移动工具移动选区中的内容就可以了,如下中图所示,白色箭头代表鼠标拖动的方向和目的地,在今后的图例中都将使用这种箭头来表示拖动轨迹. 但是移动后,原先小球所在的地方产生了一个空白区域,如下右图.这是因为原先的内容被"挖走",于是Photoshop利用背景色来填补这个空缺,也就是说依据背景色的不同,填补这块区