Xaml創建文本鏡像

 <TextBox Height="94" HorizontalAlignment="Left" Margin="50,239,0,0" Name="textBox1" VerticalAlignment="Top" Width="224"  FontSize="50">
            <TextBox.Foreground >
                <ImageBrush ImageSource="F:/作業/byWpfTest/byWpfTest/images/Hydrangeas.jpg"></ImageBrush>
            </TextBox.Foreground>

        </TextBox>
        <Rectangle  StrokeThickness="0" Margin="50,348,0,303" Name="rectangle1" Stroke="Black" HorizontalAlignment="Left" Width="224"  > <!-- 定義一個矩形-->
            <Rectangle.Fill> <!--矩形內填充 複製內容筆刷-->
                <VisualBrush Visual="{Binding ElementName=textBox1}"> <!--把Text綁定筆刷-->
                    <VisualBrush.RelativeTransform > <!--筆刷的RelativeTransform屬性-->
                        <TransformGroup><!--創建個Transform的分組-->
                            <ScaleTransform ScaleX="1" ScaleY="-1"> <!--指定翻轉的座標-->
                           
                            </ScaleTransform>
                            <TranslateTransform Y="1"></TranslateTransform><!--對哪個軸進行翻轉-->
                        </TransformGroup>

                    </VisualBrush.RelativeTransform>
                </VisualBrush>
            </Rectangle.Fill>
        </Rectangle>

 

 

程序生成文本鏡像文件

 

   TextBox txtNewTest = new TextBox();
            txtNewTest.Width = 200;
            txtNewTest.Height = 50;
            Thickness txtmargin = new Thickness(66, 20, 92, 0);
            txtNewTest.Margin = txtmargin;
           
            txtNewTest.FontSize = 25;
            this.gdText.Children.Add(txtNewTest);

             Rectangle rtNewTest = new Rectangle();
             rtNewTest.Stroke = new SolidColorBrush(Colors.Blue);
           
             rtNewTest.StrokeThickness = 2;
             Thickness rpmargin = new Thickness(66, 120, 92, 0);
             rtNewTest.Margin = rpmargin;
             rtNewTest.Width = 200;
             rtNewTest.Height = 50;
          
             VisualBrush vbTest = new VisualBrush();
             vbTest.Visual =txtNewTest;
             rtNewTest.Fill = vbTest;
         

             TransformGroup tfg = new TransformGroup();
             ScaleTransform stForm = new ScaleTransform();
   
         
             stForm.ScaleX = 1;
             stForm.ScaleY = -1;
             TranslateTransform ttf = new TranslateTransform();
             ttf.Y = 1;
             tfg.Children.Add(stForm);
             tfg.Children.Add(ttf);

             vbTest.RelativeTransform = tfg;

              this.gdText.Children.Add(rtNewTest);

發佈了27 篇原創文章 · 獲贊 1 · 訪問量 3萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章