none
如何打开图片bmp,jpeg 并作为InkCanvas的背景 RRS feed

  • 问题

  • 如何打开图片bmp,jpeg文件 并作为InkCanvas的背景,试了很久都不正确,

    OpenFileDialog dlg = new OpenFileDialog();
                dlg.CheckFileExists = true;
                dlg.Filter =  "Image Files (*.bmp, *.jpg)|*.bmp;*.jpg|"  +
                                   "All files (*.*)|*.*";
                if ((bool)dlg.ShowDialog(this))
                {
                    try
                    {
                        FileStream file = new FileStream(dlg.FileName,
                                                FileMode.Open, FileAccess.Read);
                        BmpBitmapDecoder decoder = new BmpBitmapDecoder(file, BitmapCreateOptions.PreservePixelFormat, BitmapCacheOption.Default);
                        BitmapSource bitmapSource = decoder.Frames[0];    接下来怎么办?
    2012年5月19日 15:25

答案

  • 在WPF中不需要这么复杂去读如图片,你只需要取得图片的路径,然后设置一个 ImageBrush 到InkCanvas.Background即可:

            OpenFileDialog dlg = new OpenFileDialog();
            dlg.CheckFileExists = true;
            dlg.Filter = "Image Files (*.bmp, *.jpg)|*.bmp;*.jpg|" +
                               "All files (*.*)|*.*";
    
            if ((bool)dlg.ShowDialog(this))
            {
              Uri imagefile = new Uri(dlg.FileName, UriKind.Absolute);
    
              BitmapImage img = new BitmapImage(imagefile);
              inkcanvas.Background = new ImageBrush(img);
            }


    Bob Bao [MSFT]
    MSDN Community Support | Feedback to us

    2012年5月21日 10:20
    版主