2012-07-23 68 views
1

我正在为C++编写Windows 8的Metro风格应用程序。在那里,我从我的代码中的图像文件创建一个IWICBitmap实例。我将在IWICBitmap上自己处理像素。如何在XAML UI的屏幕上显示IWICBitmap并在C++中隐藏代码?

现在如何在像矩形这样的XAML元素上显示此图像?代码片段将非常有帮助。

+0

为什么你想要它是一个IWicBitmap? – 2012-07-23 18:46:53

+0

其实我想用Direct2D在位图上绘制东西,这对于IWICBitmap来说很简单。我可以使用WriteableBitmap来进行像素级别的处理并轻松地将其显示在屏幕上,但是WriteableBitmap似乎不允许使用Direct2D进行绘制。比方说,我想在图片上添加一些文字? – abix 2012-07-24 02:02:56

回答

1

我找到了解决这个...

  1. 创建一个同样大小的WriteableBitmap的。
  2. 从IWICBitmap获取像素缓冲区指针。
  3. 将像素从IWICBitmap复制到WriteableBitmap。

虽然你需要照顾像素格式。每次在IWICBitmap中修改某些内容时,都必须将内容复制到WriteableBitmap。我猜SurfaceImage会更好用。