zoukankan      html  css  js  c++  java
  • Image

    灰度图像

    <Page xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
      xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
    
      <Page.Resources>
    
        <!-- This resource defines a BitmapImage with a source and a
             DecodePixelWidth of 200. This property is set to the same value 
             as the desired width of the image to save on memory use. This 
             BitmapImage is used as the base for the other BitmapSource resources. -->
        <BitmapImage x:Key="masterImage" DecodePixelWidth="200" 
         UriSource="C:\Documents and Settings\All Users\Documents\My Pictures\Sample Pictures\Forest.jpg"/>
    
        <!-- This FormatConvertedBitmap uses the BitmapImage defined above and
             changes the format to Gray32Float (grayscale). -->
            <FormatConvertedBitmap x:Key="convertFormatImage" 
                                   Source="{StaticResource masterImage}" 
                                   DestinationFormat="Gray32Float" />
          
      </Page.Resources>
      
      <StackPanel>
        
        <!-- Apply the "convertFormatImage" resource defined above to this image.  -->
        <Image Width="200" Source="{StaticResource convertFormatImage}" />
      </StackPanel>
    </Page>

    裁剪图像

    <Page.Resources>
       <!-- Define some image resources, for use as the image element source. -->
       <BitmapImage x:Key="masterImage" UriSource="/sampleImages/gecko.jpg" />
       <CroppedBitmap x:Key="croppedImage" 
          Source="{StaticResource masterImage}" SourceRect="30 20 105 50"/>
    </Page.Resources>
    
    <!-- Use the cropped image resource as the images source -->
    <Image Width="200" Source="{StaticResource croppedImage}" 
       Margin="5" Grid.Column="0" Grid.Row="1" />

    CroppedBitmap还可以用作另一个源CroppedBitmap,链接裁剪。 请注意,SourceRect使用相对于裁剪位图并不是初始的图像的源的值。

    <!-- Chain a cropped bitmap off a previosly defined cropped image -->
    <Image Width="200" Grid.Column="0" Grid.Row="3" Margin="5">
       <Image.Source>
          <CroppedBitmap Source="{StaticResource croppedImage}" 
             SourceRect="30 0 75 50"/>
       </Image.Source>
    </Image>

    旋转图像

    <Image Width="150" Margin="5" Grid.Column="0" Grid.Row="1">
       <Image.Source>
         <BitmapImage UriSource="/sampleImages/watermelon.jpg" Rotation="Rotate90" />
       </Image.Source>
    </Image>

    变换

    <!-- This resource defines a BitmapImage with a source and a
             DecodePixelWidth of 200. This property is set to the same value 
             as the desired width of the image to save on memory use. This 
             BitmapImage is used as the base for the other BitmapSource resources. -->
        <BitmapImage x:Key="masterImage" DecodePixelWidth="200" 
         UriSource="C:\Documents and Settings\All Users\Documents\My Pictures\Sample Pictures\Forest.jpg"/>
    
        <!-- This TransformedBitmap uses the BitmapImage defined above and flips
             it 90 degrees. -->
        <TransformedBitmap x:Key="rotatedImage" Source="{StaticResource masterImage}">
          <TransformedBitmap.Transform>
            <RotateTransform Angle="90" />
          </TransformedBitmap.Transform>
        </TransformedBitmap>

    掩码

    圆角图片

    <Grid>
            <Border  Name="myBorder" CornerRadius="40" Background="White"/>
            <Image Source="D:\Pictures\Animals\041.jpg">
                <Image.OpacityMask>
                    <VisualBrush Visual="{Binding ElementName=myBorder}"/>
                </Image.OpacityMask>
            </Image>
        </Grid>

    注意Border的Background需要设置,因为OpacityMask属性仅使用 alpha 通道值为提供的 Brush 

     或者使用clip

    <Image Source="D:\Pictures\Animals\041.jpg" Width="200" Height="150">
                <Image.Clip>
                    <EllipseGeometry RadiusX="100" RadiusY="75" Center="100,75"/>
                </Image.Clip>
            </Image>

    BitmapFrame用于存储图像格式的实际位图数据。 演示如何BitmapFrame从 创建BitmapSource,然后添加到 TIFF 映像。

    BitmapSource image5 = BitmapSource.Create(
        width,
        height,
        96,
        96,
        PixelFormats.Indexed1,
        BitmapPalettes.WebPalette,
        pixels,
        stride);
    
    FileStream stream5 = new FileStream("palette.tif", FileMode.Create);
    TiffBitmapEncoder encoder5 = new TiffBitmapEncoder();
    encoder5.Frames.Add(BitmapFrame.Create(image5));
    encoder5.Save(stream5);

     

     BitmapImage是专为加载BitmapSource可扩展应用程序标记语言 (XAML)优化Source的专用函数,是作为Image控件显示图像的简便方法。

    // Create Image Element
    Image myImage = new Image();
    myImage.Width = 200;
    
    // Create source
    BitmapImage myBitmapImage = new BitmapImage();
    
    // BitmapImage.UriSource must be in a BeginInit/EndInit block
    myBitmapImage.BeginInit();
    myBitmapImage.UriSource = new Uri(@"C:\Documents and Settings\All Users\Documents\My Pictures\Sample Pictures\Water Lilies.jpg");
    
    // To save significant application memory, set the DecodePixelWidth or
    // DecodePixelHeight of the BitmapImage value of the image source to the desired
    // height or width of the rendered image. If you don't do this, the application will
    // cache the image as though it were rendered as its normal size rather then just
    // the size that is displayed.
    // Note: In order to preserve aspect ratio, set DecodePixelWidth
    // or DecodePixelHeight but not both.
    myBitmapImage.DecodePixelWidth = 200;
    myBitmapImage.EndInit();
    //set image source
    myImage.Source = myBitmapImage;
  • 相关阅读:
    二叉查找树
    Hash算法原理理解
    算法的时间复杂度
    解决Ubuntu14.04下Clementine音乐播放器不能播放wma文件的问题
    Ubuntu 14.04 开启启动器图标最小化功能
    Ubuntu14.04建立WiFi热点
    C语言运算符优先级
    老鸟的Python入门教程
    MD5算法步骤详解
    MD5算法
  • 原文地址:https://www.cnblogs.com/yetsen/p/13567475.html
Copyright © 2011-2022 走看看