WPF中材质制作:图片和矢量图之争

如果要做下面这样的一个东西作为背景。你会如何做呢?

图1. 目标背景效果

方案一,用PS画出来。然后把这个PNG图片作为背景色。这个方案可以,但是 如果想让这个线的颜色可配置呢?如何线的粗细不确定呢?无论哪个问题,用像 素图的方式都不好解决。

方案二,用WPF的矢量图绘制。这个方案可以比较容易地解决上面两个问题。

但是无论我们用哪种方式,都不会把整个图的大小画出来。而是画是一个最小 的图元,然后重复。

标量图方案

对于PS画的标量而言,有下面这样的一个图就可以了。然后在要绘制的区域内 无限重复。尤其是做网页的上的材质都是这样,要知道图片的大小可不是比文字 ,全部绘制出来的话图片可能会很大。而且Visual Designer改起来也会比较累。

图2. PNG材质图片(放大后)

比如这个图叫Twill.png,大小是6*6。那么在WPF中使用这个图元来建立图1中 材质的代码如下。

<DrawingBrush x:Key="PicTwillBrush"
                       Stretch="Fill"  TileMode="Tile"
                       Viewport="0,0,6,6"  ViewportUnits="Absolute">
             <DrawingBrush.Drawing>
                 <ImageDrawing ImageSource="Textures\Twill.png"  Rect="0,0,6,6"/>
             </DrawingBrush.Drawing>
         </DrawingBrush>

默认情况下,这个用方案一实现的材质很完美,和图1完美一样。但是如果用 ViewBox把这个图片放下之后会出现下面的现象。

图3. 实现渲染效果(ViewBox放大)

时间: 2024-12-31 04:28:31

WPF中材质制作:图片和矢量图之争的相关文章

【译】在Asp.Net中操作PDF - iTextSharp - 绘制矢量图

原文 [译]在Asp.Net中操作PDF - iTextSharp - 绘制矢量图   在上一篇iTextSharp文章中讲述了如何将现有的图片插入PDF中并对其进行操作.但有时,你需要在PDF中绘制不依赖于任何图片文件的矢量图形.iTextSharp既包含了绘制简单矢量图功能,也包含了绘制复杂矢量图的功能.这篇文章将会帮助你入门.本系列文章之前的文章如下:       在ASP.NET中创建PDF-iTextSharp起步     在Asp.Net中操作PDF - iTextSharp - 使

PS快速将图片转为矢量图效果

  给大家分享一篇PS快速将图片转为矢量图效果教程,调整图片,定义自定形状,方便以后使用,大大的减少了时间,一起看看吧! 第一步:打开图像菜单--调整--去色--CTRL+SHIFT+U(如下图所示) 第二步:打开图像菜单--调整--亮度/对比图(如下图所示)         注:更多精彩教程请关注三联photoshop教程栏目,三联PS群:182958314欢迎你的加入 分类: PS图片处理

WPF中如何制作下拉菜单。。。就像VS2013头排那样

问题描述 在WPF中如何制作下拉菜单 解决方案 解决方案二:menu,menuItem解决方案三:有菜单控件吗不是解决方案四:就是这样子

wpf中richtextbox复制图片为什么占一行?怎样让他不占一行?

问题描述 wpf中richtextbox复制图片为什么占一行?怎样让他不占一行? 解决方案

Coreldraw中如何将位图转矢量图

问:位图转矢量图有哪些方法和技巧? 答: 位图转矢量的方法很多,这里具体介绍以下几种: 第一种:完整安装Coreldraw(以下简称CD)会自带一个附件--Corel Power TRACE(以下简称CT),在CD中可以直接点击应用程序按纽调用CT.CT的使用比较简单,导入位图后,设置一下边界,点转换即可,一次不成再调整再转换,不过CT对于块面化的位图比较适合,对于复杂的位图就不是很好了,转换了也不是我们想要的结果.Coreldraw X3中整合了Corel Power TRACE,它使用户能快

Photoshop矢量教程:快速把人物图片转为矢量图效果

本教程的效果有点类似矢量画效果.制作方法也比较独特,前期基本上是用滤镜及图层混合等做出类似矢量的色块图.后期再细化处理,最后按照自己的喜欢润色即可. 原图 最终效果 1.打开原图素材,养成良好的习惯,按Ctrl + J把背景图层复制一层.按Ctrl + Shift + U 去色.把去色后的图层复制一层,按Ctrl + I 反相,图层混合模式改为"颜色减淡". [1] [2] [3] [4]  下一页

Photoshop快速把人物图片转为矢量图效果

  1.打开原图素材,养成良好的习惯,按Ctrl + J把背景图层复制一层.按Ctrl + Shift + U 去色.把去色后的图层复制一层,按Ctrl + I 反相,图层混合模式改为"颜色减淡". 2.对反相图层执行:滤镜 > 其它 > 最小值,参数为1,确定后向下合并图层. 3.把背景图层复制一层,按Ctrl + M 调整曲线,数值:输入:170,输出:236,将最上面的合并图层混合模式改为"正片叠底",图层参照如下图. 4.选中去色图层,执行:滤镜

Flash中如何优化矢量图

优化 问:请问什么是矢量图,矢量图在Flash中需要优化吗? 答:矢量图是用包含颜色位置属性的直线或曲线公式来描述图像的,因此矢量图可以任意放大而不变形,它的大小与图形的尺寸无关,但与图形的复杂程度有关.当我们在Flash中把位图转化为矢量图时,所得到的图形是相当复杂的,得到的矢量图体积比较大,因此,我们还须对矢量图做进一步的优化. 在Flash中我们还可以这样来对转换得到的矢量图进行优化:按"Ctrl+A"组合键选中矢量图,然后按"Ctrl+Alt+Shift+C"

WPF中的三维空间(1)

原文:WPF中的三维空间(1) WPF中可以创建三维几何图形,支持3D对象的应用,支持从3D Max等软件将3D文件obj导入设计中,但是目前还不支持将材质同时导入,这样需要在WPF中对3D对象重新设置颜色或贴图. 2.10.1 WPF中的三维空间 1.三维空间坐标 WPF中二维图形的坐标系原点定位在呈现区域(屏幕)的左上角,其X 轴上的正方向朝右,Y轴的正向朝下. 在WPF的三维坐标系中,原点一般位于在WPF中创建的三维对象的中心(导入的三维对象的情况就不一定了,比如从3DMax中导入的obj