zoukankan      html  css  js  c++  java
  • WPF中Image显示本地图片(转)

    private void SetSource(System.Windows.Controls.Image image, string fileName)
    {
    System.Drawing.Image sourceImage = System.Drawing.Image.FromFile(fileName);
    int imageWidth = 0, imageHeight = 0;
    InitializeImageSize(sourceImage, image, out imageWidth, out imageHeight);

    Bitmap sourceBmp = new Bitmap(sourceImage, imageWidth, imageHeight);
    IntPtr hBitmap = sourceBmp.GetHbitmap();
    BitmapSource bitmapSource = Imaging.CreateBitmapSourceFromHBitmap(hBitmap, IntPtr.Zero, Int32Rect.Empty,
    BitmapSizeOptions.FromEmptyOptions());
    bitmapSource.Freeze();
    WriteableBitmap writeableBmp = new WriteableBitmap(bitmapSource);
    sourceImage.Dispose();
    sourceBmp.Dispose();
    image.Source = writeableBmp;
    }

    /// <summary>
    /// Initialize ImageSize.
    /// </summary>
    /// <param name="sourceImage"></param>
    /// <param name="image"></param>
    /// <param name="imageWidth"></param>
    /// <param name="imageHeight"></param>
    private static void InitializeImageSize(System.Drawing.Image sourceImage, System.Windows.Controls.Image image,
    out int imageWidth, out int imageHeight)
    {
    int width = sourceImage.Width;
    int height = sourceImage.Height;
    float aspect = (float)width / (float)height;
    if (image.Height != double.NaN)
    {
    imageHeight = Convert.ToInt32(image.Height);
    imageWidth = Convert.ToInt32(aspect * imageHeight);
    }
    else if (image.Width != double.NaN)
    {
    imageWidth = Convert.ToInt32(image.Width);
    imageHeight = Convert.ToInt32(image.Width / aspect);
    }
    else
    {
    imageHeight = 100;
    imageWidth = Convert.ToInt32(aspect * imageHeight);
    }
    }

    调用:  SetSource(this.imageCur, “C:1.png”);

    http://www.cnblogs.com/yunyou/archive/2013/01/25/2876054.html

  • 相关阅读:
    ELASTIC 动态修改配置API
    ELASTIC API
    ELASTIC索引监控脚本
    java并发多线程纪要
    Git 基础
    Linux 权限规划ACL
    Linux账号管理(二)
    Linux账号管理(一)
    Linux 备份工具dump
    Linux 文件压缩、打包
  • 原文地址:https://www.cnblogs.com/ExMan/p/3755418.html
Copyright © 2011-2022 走看看