2017-12-19 15 views
0

C#のコードから画像ソースを入力する必要があります。私は次の操作を行います(ないUWPで)私の以前のプロジェクトでは:uwpにbitmapimageはありませんか?

imagename.Source=new BitmapImage(new Uri(stringPath)); 

が、UWPでBitmapImageクラスが存在しないようです。

この問題の用途または解決策に類似したものはありますか?

答えて

1

MSDNの計算BitmapImageはまだまだ問題です。

はこちらをご覧ください:MSDN help document

その使用がが少し異なります。

<Image Loaded="Image_Loaded"/> 

とC#:

void Image_Loaded(object sender, RoutedEventArgs e) 
{ 
    Image img = sender as Image; 
    BitmapImage bitmapImage = new BitmapImage(); 
    img.Width = bitmapImage.DecodePixelWidth = 80; 
    // Natural px width of image source. 
    // You don't need to set Height; the system maintains aspect ratio, and calculates the other 
    // dimension, as long as one dimension measurement is provided. 
    bitmapImage.UriSource = new Uri(img.BaseUri,"Images/myimage.png"); 
} 
1

UWP内BitmapImage APIがあります。マイクロソフトではguideも使用しています。

これはC#のセグメントのためのガイドから直接採取コードサンプルである:

// 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; 

、これはXAMLのセグメントである:

<!-- Simple image rendering. However, rendering an image this way may not 
    result in the best use of application memory. See markup below which 
    creates the same end result but using less memory. --> 
<Image Width="200" 
Source="C:\Documents and Settings\All Users\Documents\My Pictures\Sample Pictures\Water Lilies.jpg"/> 

<Image Width="200"> 
    <Image.Source> 
    <!-- To save significant application memory, set the DecodePixelWidth or 
    DecodePixelHeight of the BitmapImage value of the image source to the desired 
    height and 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, only set either DecodePixelWidth 
     or DecodePixelHeight but not both. --> 
    <BitmapImage DecodePixelWidth="200" 
    UriSource="C:\Documents and Settings\All Users\Documents\My Pictures\Sample Pictures\Water Lilies.jpg" /> 
    </Image.Source> 
</Image> 
関連する問題