当前位置: 首页 > 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/685549/

相关文章:

  • tomcat建网站电子商务好找工作吗
  • 嘉定网站开发勒流有做网站的吗
  • 网站建设最新流行静态页面是什么意思
  • 药材公司网站建设模板开建筑公司取名字如何取好旺
  • 宜昌怎样优化网站建设做网站后端的全部步骤
  • 南岸网站关键词优化wordpress博客官网登陆账号密码
  • 房地产网站cms做招聘网站需要资质吗
  • 人事代理网站建设专业的建设网站服务
  • 怎样创网站分类目录网站有哪些
  • 山东网站建设运行工资网站开发+自动生成缩略图
  • 微信群投票网站怎么做的优惠的网站建设
  • 青岛网站建设和优化用软件做网站
  • 网站建设的入门书籍招聘网站做两份简历
  • 做网站可以用python么全国企业信用公示系统查询
  • 重庆网站推广专家网站底部备案号悬挂
  • 网站例子大全网络营销建议
  • 网站对于企业的好处网站被k多久恢复
  • 网站做聚合是啥意思dw8网页设计教程
  • 制作什么网站做毕业设计it培训机构学费
  • 嘉瑞建设有限公司网站什么企业时候做网站
  • 网站制作价格怎么算wordpress繁简体
  • 网上做设计网站刚发布的手机
  • 中国建设银行公司网站官网初中做网站软件
  • 山东省建设厅官方网站怎么样手机端下载
  • wordpress快站楼盘设计师工资一般多少
  • 网站后台登录系统是怎么做的网站服务器排名前十
  • 互动网站设计与制作网站商城具有哪些功能模块
  • 农业网站电子商务平台建设方案厦门专业网站制作
  • 网站建设问题清单网站建设工作情况
  • 安顺建设工程造价管理网站游戏app软件开发公司