我正在尝试找出在画布上缩放多个选定对象的算法(类似于Visio的行为)。比方说我在我的应用程序中有以下所选对象:
然后我拖动边框的右下角手柄来增加所选对象的大小,从而产生以下结果:
我的问题如下:
我希望这个问题有道理。我希望你能提供帮助。
答案 0 :(得分:0)
嗨,我不认为有任何翻译,只有缩放。一种简单的方法是保留对象的宽度和高度,如(上面的TextBoxes),然后当你想获得该对象的Scaleing值时
ScaleTransform scale = new ScaleTransform();
//_text is the scaled object
scale.ScaleX = text.ActualWidth - _width; //_width is width of the textbox at beginning.
scale.ScaleY = text.ActualHeight - _height; //_height is the height of textbox at the beginning.
这将为您提供在开始时对应于TextBox的宽度和高度(即窗口初始化时)的对象缩放量。我希望这会给你一个想法。