Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Windows 8 Metro App - Render PNGs

I am needing to render some custom PNGs in a Windows 8 app.

Basically I need to create a custom live tile by putting some drawings made in my app on top of an image for a live tile, and the only way to do this is render a PNG to disk, see here.

What library should I use to do this? My first thought was to use a Xaml UserControl and RenderTargetBitmap, but it is not available in a Metro app.

like image 370
jonathanpeppers Avatar asked Dec 31 '25 21:12

jonathanpeppers


2 Answers

WinRT XAML Toolkit has some extension methods for WriteableBitmap that you could use too. You could probably use WriteableBitmapLoadExtensions for loading and WriteableBitmapSaveExtensions for saving. It has a fairly limited blitting capability though since that is exposed by WriteableBitmapEx already and simple to write anyway. WriteableBitmapBlitBlockExtensions is only a method to blit a full width block of pixels from bitmaps of same width.

Edit* RenderTargetBitmap is now available in Windows 8.1. It doesn't support some elements though (I think it doesn't render camera previews, media elements and perhaps WebViews).

like image 69
Filip Skakun Avatar answered Jan 03 '26 11:01

Filip Skakun


Currently the only option is to use DirectX (or SharpDX) to create your image. You'll probably have to recreate the drawing using the low-level DirectX APIs. WritableBitmapEx might also be helpful if your drawings are simple.

like image 41
robertos Avatar answered Jan 03 '26 10:01

robertos



Donate For Us

If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!