public override void Perform() { WriteableBitmap wbmp = (WriteableBitmap)TargetImage.Source; // clamp to valid ranges Int32Rect drawRect = Clamp(wbmp, DrawRect); WriteableBitmapWriter writer = WriteableBitmapWriter.CreateWriter((int)wbmp.PixelHeight, wbmp.BackBufferStride, wbmp.Format); writer.SetWriteableBitmapPixels(wbmp, drawRect, DrawColor); }
public override WriteableBitmap Create(DeterministicRandom random) { int width = random.Next(400) + 1; int height = random.Next(400) + 1; WriteableBitmap wbmp = new WriteableBitmap(width, height, DpiX, DpiY, PixelFormat, GetPalette(PixelFormat, random)); WriteableBitmapWriter writer = WriteableBitmapWriter.CreateWriter(height, wbmp.BackBufferStride, PixelFormat); writer.SetWriteableBitmapPixels(wbmp, new Int32Rect(0, 0, width, height), random); return(wbmp); }