Metro中如何直接读取图片并显示出来。

1. 首先你得获取当前目录。
然后将该win8.png图片内容读取到StorageFile^变量中,然后读取该StorageFile中的

内容到InMemoryRandomAccessStream中,再读到BitmapImage中,然后直接赋值给
Image变量来读取。

task<StorageFile^>(Package::Current->InstalledLocation->GetFileAsync("Assets\\win8.png")).then([this](StorageFile^ file)
{
 OutputDebugString(TEXT("111\n"));
 task<IBuffer^>(FileIO::ReadBufferAsync(file)).then([this]

(IBuffer^ buffer)
 {
  OutputDebugString(TEXT("222\n"));
  InMemoryRandomAccessStream^ randomAccessStream = ref new InMemoryRandomAccessStream();
  IOutputStream^ outputStream = randomAccessStream->GetOutputStreamAt(0);
  DataWriter^ datawriter = ref new DataWriter(outputStream);
  datawriter->WriteBuffer(buffer);
  task<unsigned int>(datawriter->StoreAsync()).then([this, randomAccessStream](unsigned int i)
  {
   OutputDebugString(TEXT("333\n"));
   BitmapImage^ bitmapImage = ref new BitmapImage();
   bitmapImage->SetSource(randomAccessStream);
   Image_1->Source = bitmapImage;
  });
 });
});


 

运行上述代码,你肯定是错。

你除了要将win8.png放到Assets目录下,还要将win8.png添加到工程的Assets目录里面。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值