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;
  • 相关阅读:
    hdu 3714
    sql 函数 DATEADD 使用
    mvc的IIS 配置问题 runAllManagedModulesForAllRequests 与 HtmlFileHandler
    移动端日历控件 mobiscroll 的简单使用、参数设置
    sql中判断是否存在某个对象
    SQLServer中的变量:局部变量,全局变量
    键盘对照表
    [PyQt]在Windows系统中安装Eric6
    [Python]使用QRCode生成彩色二维码
    [PyQt]PyQt5连接SQL Server数据库,并读取所有数据库名称
  • 原文地址:https://www.cnblogs.com/yetsen/p/13567475.html
Copyright © 2011-2022 走看看