コード例 #1
0
ファイル: aa_demo.cs プロジェクト: larsbrubaker/agg-sharp
        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();
            }
        }
コード例 #2
0
ファイル: aa_demo.cs プロジェクト: glocklueng/agg-sharp
		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();
			}
		}
コード例 #3
0
ファイル: ImageProxy.cs プロジェクト: annafeldman/agg-sharp
 public Graphics2D NewGraphics2D()
 {
     return(linkedImage.NewGraphics2D());
 }