学长,有问题不明白,希望抽空看下

Coordinator
Apr 7, 2012 at 8:54 AM
Edited Apr 7, 2012 at 9:10 AM

1)为什么要写_planes[i].image.Image.Freeze()这句话?把各个贴图都设置为不可修改,以后重新绘图就只能new了,我现在把它去了,重绘也用之前的bitmap,运行正常,也省了开销,不知道你之前什么考虑?

2)windowIndex int类型不太合适吧,用户不一定非要看整数窗口,double类型更合适吧,那样在鼠标滚动缩放时也能更新那个值了

Coordinator
Apr 7, 2012 at 2:11 PM
hanbingjie wrote:

1)为什么要写_planes[i].image.Image.Freeze()这句话?把各个贴图都设置为不可修改,以后重新绘图就只能new了,我现在把它去了,重绘也用之前的bitmap,运行正常,也省了开销,不知道你之前什么考虑?

2)windowIndex int类型不太合适吧,用户不一定非要看整数窗口,double类型更合适吧,那样在鼠标滚动缩放时也能更新那个值了

1.的确,我写那句话的时候我都不知道为什么,只是看到例子代码里面有我才写。你现在算是解决了一个我的疑问啊。

2.windowindex对于你们要实现按点击点放大是无意义的。他只有在我那种观察整数窗口的时候才有用。你们则不用。

应该是(pointUserCliecked.-windowsize/2 ,pointUserCliecked.+windowsize/2)吧,具体还要算算的,因为这样除有余数的,不是很准,但基本差不多。

Coordinator
Apr 7, 2012 at 2:12 PM
nkhanxh wrote:
hanbingjie wrote:

1)为什么要写_planes[i].image.Image.Freeze()这句话?把各个贴图都设置为不可修改,以后重新绘图就只能new了,我现在把它去了,重绘也用之前的bitmap,运行正常,也省了开销,不知道你之前什么考虑?

2)windowIndex int类型不太合适吧,用户不一定非要看整数窗口,double类型更合适吧,那样在鼠标滚动缩放时也能更新那个值了

1.的确,我写那句话的时候我都不知道为什么,只是看到例子代码里面有我才写。你现在算是解决了一个我的疑问啊。

2.windowindex对于你们要实现按点击点放大是无意义的。他只有在我那种观察整数窗口的时候才有用。你们则不用。

应该是(pointUserCliecked.-windowsize/2 ,pointUserCliecked.+windowsize/2)吧,具体还要算算的,因为这样除有余数的,不是很准,但基本差不多。

你可以看到,getaccumulation的传入参数没有windowindex,只有valuerange,所以你只要计算出观察窗口范围即可,windowindex不再有意义。

Coordinator
Apr 7, 2012 at 5:54 PM

getWindow函数的参数里有windowindex,我现在是想在鼠标缩放时把当前windowindex也更新,计算窗口时再重新取整。新程序学长运行看了吗?缩放时有数据重计算,我更新了zoom值,还没动windowindex。目前缩放后二维部分显示有问题,这部分有蒋文江参与,他回家了,我想等他回来再改。

Coordinator
Apr 8, 2012 at 1:28 AM
hanbingjie wrote:

getWindow函数的参数里有windowindex,我现在是想在鼠标缩放时把当前windowindex也更新,计算窗口时再重新取整。新程序学长运行看了吗?缩放时有数据重计算,我更新了zoom值,还没动windowindex。目前缩放后二维部分显示有问题,这部分有蒋文江参与,他回家了,我想等他回来再改。

  public static ValueRange GetWindow(Point3D focus, ValueRange currentWindow, double xCoordinateStart, double xCoordinateEnd, bool isAmplifying)

这个里面没有吧?这个才是你们现在用的。原来那个是我老算法用得,不适用了。你们现在应该去掉我原来的windowindex吧。连着那两个zoom的ui控件也一起去掉吧?

不过我看他写的怎么这么复杂呢?他那个缩放时候代码的确有问题,我也和他交流过,请看下面这段对话。

http://ectest.codeplex.com/discussions/350593

Coordinator
Apr 8, 2012 at 3:28 AM

public static ValueRange GetWindow(Point3D focus, ValueRange currentWindow, double xCoordinateStart, double xCoordinateEnd, bool isAmplifying)是我写的,我还想改一下你写的那个,因为上次写的缩放得和你之前的衔接起来

Coordinator
Apr 8, 2012 at 4:20 AM
hanbingjie wrote:

public static ValueRange GetWindow(Point3D focus, ValueRange currentWindow, double xCoordinateStart, double xCoordinateEnd, bool isAmplifying)是我写的,我还想改一下你写的那个,因为上次写的缩放得和你之前的衔接起来

噢。不太明白如何将我写的衔接?需要达到什么目的么?不过如果windowindex不是一个整数,意义就不太大了,以前我就是为了简化问题才引入它的。

如果现在可以按照任意点为中心放大,它存在的意义就几乎消失了。

Coordinator
Apr 8, 2012 at 6:01 AM

学长,你的意思是windowindex不要了?也就是把window那个slider和change window button删了,是这样吗?

不知道你运行程序没有,现在windowindex和当前窗口对不上,如果还留window这个slider的话就得改

Coordinator
Apr 8, 2012 at 2:31 PM
hanbingjie wrote:

学长,你的意思是windowindex不要了?也就是把window那个slider和change window button删了,是这样吗?

不知道你运行程序没有,现在windowindex和当前窗口对不上,如果还留window这个slider的话就得改

是的我运行了。但是我发现不了当前窗口的值,因为没仔细算过。slider和change window button我认为可以删除了。你们的意思呢?

 

还是得你们和韩老师商量来做最终决定。

Coordinator
Apr 8, 2012 at 4:58 PM

我们先问问韩老师,谢谢学长