将墨迹大小调整到左侧和顶部

时间:2011-01-19 07:11:41

标签: c# wpf inkcanvas

我想调整墨迹的宽度和高度以适应屏幕。当我调整大小时,宽度向右扩展,高度扩展到底部。但是,墨迹不适合屏幕。

我还想修复inkcanvas子元素的位置。如果我可以调整墨迹大小以适应屏幕,那么inkcanvas子元素的位置不会改变。

如何将墨迹扫描调整到左侧和顶部以适应屏幕?

alt text

<Canvas x:Name="Screen" >

                <InkCanvas Name="inkcanvas" ResizeEnabled="True"
                          Width="{Binding ElementName=LayoutRoot, Path=ActualWidth}"
                        Height="{Binding ElementName=LayoutRoot, Path=ActualHeight}"
                           EditingMode="Select" ClipToBounds="False"
                    Background="Bisque"
                    SelectionChanging="OnSelectionChanging" 
                    Visibility="Collapsed" HorizontalAlignment="Stretch" VerticalAlignment="Stretch">

                    <!-- InkCanvas' Child Elements -->
                </InkCanvas>
                <Canvas.RenderTransform>
                    <MatrixTransform/>
                </Canvas.RenderTransform>
            </Canvas>

由于

更新 我把墨迹放在网格中。它适合屏幕,但子元素的位置发生了变化。

我想修复红色矩形位置。 alt text

不应更改红色矩形的位置。 alt text

<Grid>
        <InkCanvas x:Name="inkcanvas"  Background="Transparent">
            <Rectangle Height="41" HorizontalAlignment="Left"  Name="rectangle1" Stroke="Black" VerticalAlignment="Top" Width="69" Fill="#FFDB1111" />
        </InkCanvas>
        </Grid>

我的大图:

我的WPF应用程序包含许多图片。我可以放大/缩小画布。我可以使用选择工具选择图片。

我有画布和墨迹。

  • 画布:包含图片和放大/缩小

  • inkcanvas:有选择工具

如果我缩小,画布和墨迹会变小。

如果我使用选择工具,我会将所有图片从画布复制到inkcanvas。

但是墨迹是缩小的,如果在墨迹边界之外我不能使用选择工具。

这就是我想调整墨迹大小并修复孩子位置的原因。

3 个答案:

答案 0 :(得分:0)

从墨迹中删除所有边距并将其放入网格中。

你能解释为什么这对你不起作用吗?

<Grid>
    <InkCanvas>
    ...
    </InkCanvas>
</Grid>

编辑有两种方法可以将子元素保持在原来的位置:

  1. 一旦InkCanvas的位置或大小发生变化,就会相应地调整子位置。这意味着你必须选择一个固定的位置(窗口topleft,screen topleft,......)来确定孩子的实际位置。
  2. 从InkCanvas中移除孩子并将其放入正确的容器(确定孩子位置的容器。
  3. 我更喜欢#2,因为它更合乎逻辑,需要更少的计算/事件处理

答案 1 :(得分:0)

这取决于InkCanvas周围的容器。此外,如果您弄乱他们的容器,您不能指望子元素不会移动。如果您需要子元素独立于InkCanvas行为,那么您可能需要重新考虑这是否是一个好主意,以及如果您想要完成的任务无法使用其他设置更有效地完成。

你应该告诉我们更多关于你想要实现的目标的大概是什么,孩子受到容器操纵影响的事实是预期的并且通常是想要的。也许有一种更好的方法,而不是试图扩大容器,同时不得不让所有的孩子转移,以消除这种操纵。

答案 2 :(得分:0)

./fastText-0.1.0/fasttext skipgram -input wiki_data/enwik9 -output wiki_data/result/enwik9
Read 142M words
Number of words:  847816
Number of labels: 0
Progress: 100.0%  words/sec/thread: 62604  lr: 0.000000  loss: 0.607538  eta: 0h0m