protected override void RenderSolidSingleScanLine(IImageByte destImage, IScanlineCache scanLineCache, Color color) { int y = scanLineCache.y(); int num_spans = scanLineCache.num_spans(); ScanlineSpan scanlineSpan = scanLineCache.begin(); byte[] ManagedCoversArray = scanLineCache.GetCovers(); for (; ;) { int x = scanlineSpan.x; int num_pix = scanlineSpan.len; int coverIndex = scanlineSpan.cover_index; do { int a = (ManagedCoversArray[coverIndex++] * color.Alpha0To255) >> 8; m_square.draw(destImage.NewGraphics2D().Rasterizer, m_sl, destImage, new Color(color.Red0To255, color.Green0To255, color.Blue0To255, a), x, y); ++x; }while (--num_pix > 0); if (--num_spans == 0) { break; } scanlineSpan = scanLineCache.GetNextScanlineSpan(); } }
protected override void RenderSolidSingleScanLine(IImageByte destImage, IScanlineCache scanLineCache, RGBA_Bytes color) { int y = scanLineCache.y(); int num_spans = scanLineCache.num_spans(); ScanlineSpan scanlineSpan = scanLineCache.begin(); byte[] ManagedCoversArray = scanLineCache.GetCovers(); for (; ; ) { int x = scanlineSpan.x; int num_pix = scanlineSpan.len; int coverIndex = scanlineSpan.cover_index; do { int a = (ManagedCoversArray[coverIndex++] * color.Alpha0To255) >> 8; m_square.draw(destImage.NewGraphics2D().Rasterizer, m_sl, destImage, new RGBA_Bytes(color.Red0To255, color.Green0To255, color.Blue0To255, a), x, y); ++x; } while (--num_pix > 0); if (--num_spans == 0) break; scanlineSpan = scanLineCache.GetNextScanlineSpan(); } }
public Graphics2D NewGraphics2D() { return(linkedImage.NewGraphics2D()); }