zoukankan      html  css  js  c++  java
  • 图形图像处理

    创建图像

    为了呈现图像,您可以使用 ImageImageBrush 对象

    <Image Source="myPicture.png" />
    Image myImage = new Image();
    myImage.Source
    = new BitmapImage(new Uri("myPicture.jpg", UriKind.RelativeOrAbsolute));
    LayoutRoot.Children.Add(myImage);

    您可以直接设置 Source,也可以通过以下 URL 方案之一设置:

    • 绝对 URL,例如,http://contoso.com/myPicture.jpg

    • 相对于引用 XAML 文件。在这种情况下,指定不带前导斜杠的相对 URL。例如,Source="myPicture.png" 指定了在程序集中嵌入的与 XAML 文件位于相同文件夹位置的图像文件。还可以在目录结构中向上遍历,只要可以在 XAP 结构中解析路径。例如,Source="../resources/myPicture.png" 指定了来自 Resources 文件夹的图像文件,该文件夹与 XAP 找到其 XAML 文件组件的文件夹位置同级。

    • 相对于 XAP 文件应用程序根。在这种情况下,指定带有前导斜杠的相对 URL,该 URL 从 XAP 结构根处开始路径解析。例如,Source="/resources/myPicture.png" 指定了来自在 XAP 结构中定义的根级 resources 目录的源。推荐用此方法取代以前的相对 URL 方法,因为对 XAML 文件的 XAP 位置的更改(例如将 XAML 从页定义移入资源字典)不会中断相对于 XAP 结构根的引用。此方法通常用于作为 Content 生成操作放入 XAP 的图像源。

    • 指定一个程序集,然后通过引用 component; 标记在其概念根位置输入程序集结构。这是最为可靠的 URL 指定方式,因为即便您在程序集之外完全重构 XAML(例如,如果您将此部分 XAML 移入某个附属程序集以进行本地化),以这种方式仍可解析为图像目标。例如,Source="MySilverlightApp;component/myPicture.png" 引用了应该作为下载程序集提供的程序集 MySilverlightApp。您指定的程序集可以是 XAP 中的主应用程序程序集,换言之,即 Silverlight 项目输出路径声明的同一程序集名称。不要在此 URI 方案中指定 .dll 扩展名后缀。

    裁切图像

    可以通过使用 Clip 属性裁切掉图像输出的某个区域来裁切图像

    <Grid x:Name="LayoutRoot" Background="White">
    <Image Source="Water_lilies.jpg"
    Width
    ="200" Height="150">
    <Image.Clip>
    <EllipseGeometry RadiusX="100" RadiusY="75" Center="100,75"/>
    </Image.Clip>
    </Image>
    </Grid>

    应用 OpacityMask

    您可以将 OpacityMask 应用于某一图像,以便创建多种与不透明度相关的照片蒙板技术,例如虚光照效果

    下面的 XAML 示例在图像上放置一个居中的椭圆屏蔽,这样,图像将使用径向梯度在椭圆边缘淡出到为零的不透明度。

    <Image Source="sampleImages/forest.jpg" Height="100">
    <Image.OpacityMask>
    <RadialGradientBrush Center="50,50" GradientOrigin="50,50" MappingMode="Absolute" RadiusX="90" RadiusY="50">
    <GradientStop Color="#00000000" Offset="25" />
    <GradientStop Color="#20000000" Offset="12" />
    <GradientStop Color="#FF000000" Offset="0" />
    </RadialGradientBrush>
    </Image.OpacityMask>
    </Image>

    使用图像绘制 (ImageBrush)

    您使用 ImageBrush 来使用图像绘制采用画笔的区域。例如,ImageBrush 可用于 CanvasInkPresenterBackground 属性的值

    <!-- TextBlock with an image brush applied to the text. -->
    <TextBlock FontFamily="Verdana" FontSize="72"
    FontStyle
    ="Italic" FontWeight="Bold">
    SHRUBBERY
    <TextBlock.Foreground>
    <ImageBrush ImageSource="forest.jpg"/>
    </TextBlock.Foreground>
    </TextBlock>


  • 相关阅读:
    Python的object和type理解及主要对象层次结构
    【译】Matplotlib:plotting
    random
    【译】itertools
    VBA笔记
    Python Function
    Outlook API
    VB参考
    类方法:绑定或无绑定
    【摘录】数据库连接参数
  • 原文地址:https://www.cnblogs.com/landexia/p/1985968.html
Copyright © 2011-2022 走看看