当前位置: 首页 > news >正文

如何做网站系统常德制作网站

如何做网站系统,常德制作网站,推广链接点击器安卓版,做电子的外单网站有哪些的** 原理: ** 以Canvas作为水印显示载体,在Canvas中创建若干个TextBlock控件用来显示水印文案,如下图所示 然后以每一个TextBlock的左上角为中心旋转-30,最终效果会是如图红线所示: 为了达到第一行旋转后刚好与窗口…

**

原理:

**
以Canvas作为水印显示载体,在Canvas中创建若干个TextBlock控件用来显示水印文案,如下图所示
在这里插入图片描述
然后以每一个TextBlock的左上角为中心旋转-30°,最终效果会是如图红线所示:
在这里插入图片描述
为了达到第一行旋转后刚好与窗口上边沿齐平,需要计算第一行其实位置的Top坐标,由于旋转角度为-30,由正余弦可以得出第一行的高度应该是斜边(文字宽度,即上图中红线的长度)的一半(sin30°)

接下来确定行间距已经行中间距,首先可以确定行间距为150(height),为了达到如下图所示旋转后在同一直线上,见下图
在这里插入图片描述
即width = height * sqrt(3),如果计算结果width小于文字宽度加上文字间隔,则以文字宽度加文字间隔重新计算height

之后根据宽高可计算出一共需要多个TextBlock,双循环循环创建即可

为了使水印显示在其他控件上面,需要在xaml中最后位置创建Canvas,且Canvas的IsHitTestVisible必须为false(不响应鼠标事件)、透明度根据需要自行设置(如0.2)

最终显示效果见下图:
在这里插入图片描述

具体代码如下:

xaml:

<Window x:Class="WpfApplication1.MainWindow"xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"xmlns:d="http://schemas.microsoft.com/expression/blend/2008"xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"xmlns:local="clr-namespace:WpfApplication1"mc:Ignorable="d" FontSize="18"SizeChanged="Window_SizeChanged"Title="MainWindow" Height="400" Width="400"><Grid><Button Height="32" Width="100" Content="btn" Click="Button_Click"/><!-- 一定要放到最后面,以确保水印覆盖所有其他控件 --><Canvas Name="canvas" Opacity="0.2" IsHitTestVisible="False"/></Grid>
</Window>

c#:

using System;
using System.Globalization;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Media;namespace WpfApplication1
{/// <summary>/// Interaction logic for MainWindow.xaml/// </summary>public partial class MainWindow : Window{string watermark = "Watermark";public MainWindow(){InitializeComponent();}protected override void OnContentRendered(EventArgs e){base.OnContentRendered(e);InitWatermark();}private void InitWatermark(){canvas.Children.Clear();var formattedText = new FormattedText(watermark,CultureInfo.CurrentCulture,FlowDirection.LeftToRight,new Typeface(FontFamily, FontStyle, FontWeight, FontStretch),FontSize,Brushes.Black,new NumberSubstitution(),TextFormattingMode.Display);var height = 150.0;var width = height * Math.Sqrt(3);if (width < formattedText.Width + 100){width = formattedText.Width + 100;height = width / Math.Sqrt(3);}var firstRowHeight = formattedText.Width / 2;int colCount = (int)Math.Ceiling(ActualWidth / width);int rowCount = (int)Math.Ceiling((ActualHeight - firstRowHeight) / height);for (int i = 0; i < rowCount; ++i){for (int j = 0; j < colCount; ++j){TextBlock block = new TextBlock();block.Text = watermark;Canvas.SetTop(block, firstRowHeight + i * height);Canvas.SetLeft(block, j * width);RotateTransform transform = new RotateTransform(-30, 0, 0);block.RenderTransform = transform;canvas.Children.Add(block);}}}private void Button_Click(object sender, RoutedEventArgs e){if (canvas.IsVisible)canvas.Visibility = Visibility.Collapsed;elsecanvas.Visibility = Visibility.Visible;}private void Window_SizeChanged(object sender, SizeChangedEventArgs e){InitWatermark();}}
}
http://www.yayakq.cn/news/981927/

相关文章:

  • 亦庄网站建设公司连云港市网站设计
  • 品牌建设的四条主线东莞网络推广优化排名
  • 网站后台登录界面做网站以后的趋势
  • 丹东网站网站建设网站空间域名每年都得交吗
  • 网站开发公司福建广州优质网站排名公司
  • 广州市建设工程档案馆网站网站推广软件下拉管家
  • 整站优化和关键词优化的区别h5高端网站建设
  • 网站开发 报价wordpress edd 卡密
  • 成都网站关键词推广优化wordpress 图片延迟加载插件
  • 网站布局设计分析特点北京驾校网站建设
  • setnet科技网站建设简单的网站首页
  • 做网站模板在哪儿找免费源码网站
  • 网站虚拟主机传媒免费网站建设
  • 2008iis搭建网站做系统用什么网站
  • 访问网站详细过程WordPress 微信小程序登录
  • 一个网站服务器一年大概多少钱 网站
  • 建设教育协会官方网站视频网站建设审批
  • 金阊企业建设网站公司wix做的网站在国内访问不
  • 河北 建设厅网站首页企业邮箱腾讯
  • 深圳极速网站建设电话网站整站优化
  • 网站搭建与生成技术教材在线定制平台
  • 电子商务网站建设的目的是开展网络营销青海高端网站建设价格
  • 网站首页关键词优化如何制作聊天软件
  • 网站界面设计原则北京app设计
  • 网站 域名解析错误网站诊断及优化方案
  • 大连云建站模板做广告的软件app
  • 微信网站怎么做的互联网如何做推广
  • 快速做网站费用做网站的公司怎么赚钱吗
  • 常用的做网站的工具都有哪些视频背景网站
  • 网站如何做子域名装修设计软件 知乎