none
怎么把图片资源转换为WriteableBitmap __啊__??官网上面有例子? 具体是哪个啊 RRS feed

答案

  • 官网例子中没有哪个包含了这个代码,之前你的帖子我已回复过:http://social.msdn.microsoft.com/Forums/zh-CN/metroappzhcn/thread/e5d995ba-ebe6-4079-8c33-eee722be9266

    WriteableBitmap 在这里的作用是可以提供我们可以去修改图片在字节层面上的内容,我不知道你具体的需求,如果只是打开一个图片并且修改内容然后显示的话,下面的代码就可以实现:

      StorageFile file = await KnownFolders.PicturesLibrary.GetFileAsync("abc.png");
      using (IRandomAccessStream stream = await file.OpenAsync(FileAccessMode.Read))
      {
          BitmapDecoder decoder = await BitmapDecoder.CreateAsync(stream);
          PixelDataProvider pixelData = await decoder.GetPixelDataAsync();
          byte[] detachPixelData = pixelData.DetachPixelData();
    
          WriteableBitmap bmp = new WriteableBitmap((int)decoder.PixelWidth, (int)decoder.PixelHeight);
          
          Stream bmpstream = bmp.PixelBuffer.AsStream();
          bmpstream.Seek(0, SeekOrigin.Begin);
          byte[] pixels = new byte[(uint)bmpstream.Length];
    
          //Handle the pixels array here, you could change and do the image processing here
    
          bmpstream.Write(detachPixelData, 0, pixels.Length);
          img.Source = bmp;
      }

    用法和代码是千变万化的,掌握了流,Buffer,和文件之间的转换关系,我们就可以将这些数据从一个地方读进,然后处理在输出到另一个对象。

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

    2012年5月30日 4:04
    版主