You can overlay a TextBlock
over the image if you put them both in a single panel like a Grid
. If you want to actually combine the image and the watermark into a single image - it becomes a bit more challenging and you have multiple options.
- If you are targeting Windows 8.1 - you get the
RenderTargetBitmap.Render()
option where you can render the visual tree that has the image and the watermark to a bitmap you can then save. It's the easiest way, but I'm not sure if you can get the resolution you might want out of that. - If your watermark can be an image as well you can combine your image with the watermark by combining all the pixels manually using the
WriteableBitmap.PixelBuffer.AsStream()
API. I think the open source library - "WriteableBitmapEx" has some nice extension methods to make that easy (probably named with something about "blit"). - The quickest way might be doing that with Direct2D/DirectWrite, but that could be yet a bit more work. SharpDX is your friend there though so you don't necessarily have to use C++ for that.