c # BitmapImage Ширина и Высота равны 1 - PullRequest
0 голосов
/ 26 апреля 2018

Может ли кто-нибудь помочь мне с использованием BitmapImage?

Я использую BitmapImage в проекте wpf. Когда я устанавливаю, что wpf-проект запускается, и запускаю его, код работает нормально, но когда я запускаю wpf-exe из кода проекта winform, ширина и высота bitmapimage равна 1.

Пример кода выглядит следующим образом:

 public  async Task Open(string path)
        {

        string strpath = System.AppDomain.CurrentDomain.BaseDirectory +  path;

        strpath = @"F:\test\Meteorology\Meteorology\bin\Debug\pic\56778.JPG";
        if (System.IO.File.Exists(strpath))
        {
            Image = null;
            RaisePropertyChanged("Image");
            IsLoading = true;
            RaisePropertyChanged("IsLoading");

            await Task.Factory.StartNew(() =>
            {
                Image = new BitmapImage();

                Image.BeginInit();
                Image.CacheOption = BitmapCacheOption.OnLoad;
                Image.UriSource = new Uri(strpath);
                Image.EndInit();
                Image.Freeze();
            });

            if (Math.Abs(Image.Width / Image.Height - 2) > 0.001)
                WarningMessage("Warning", "The opened image is not equirectangular (2:1)! Rendering may be improper.");

            RecentImageManager.AddAndSave(path);

            IsLoading = false; RaisePropertyChanged("IsLoading");
            RaisePropertyChanged("Image");
        }

    }
...