16 #include <agg_conv_stroke.h> 17 #include <agg_pixfmt_rgba.h> 18 #include <agg_rasterizer_scanline_aa.h> 19 #include <agg_renderer_base.h> 20 #include <agg_renderer_scanline.h> 21 #include <agg_scanline_p.h> 27 main (
int argc,
const char* argv[])
31 const int imageWidth = 100;
32 const int imageHeight = 100;
37 const int pixelSize = PixelFormat::pix_width;
41 RendererBaseType rBase;
43 unsigned char *imageBuffer =
new unsigned char[imageWidth * imageHeight * pixelSize];
46 renderBuffer.attach (imageBuffer, imageWidth, imageHeight, imageWidth * pixelSize);
47 pixFmt.attach(renderBuffer);
50 const agg::rgba8 transparentWhiteColor (0xff, 0xff, 0xff, 0);
51 const agg::rgba8 greenColor (0, 0xff, 0, 0xff);
55 rBase.clear(transparentWhiteColor);
60 ras.auto_close(
false);
68 imageWidth, imageHeight,
73 SimplePath path (border,
sizeof(border) /
sizeof(
double));
76 double strokeWidth = 1.0;
77 strokePath.width(strokeWidth);
78 strokePath.line_cap(agg::square_cap);
79 strokePath.line_join(agg::miter_join);
80 strokePath.miter_limit(strokeWidth);
83 ras.add_path(strokePath);
85 agg::render_scanlines_aa_solid(ras, scanline, rBase, greenColor);
100 SimplePath path (star,
sizeof(star) /
sizeof(
double));
104 double strokeWidth = 2.0;
105 strokePath.width(strokeWidth);
106 strokePath.line_cap(agg::square_cap);
107 strokePath.line_join(agg::miter_join);
108 strokePath.miter_limit(strokeWidth);
111 ras.add_path(strokePath);
113 agg::render_scanlines_aa_solid(ras, scanline, rBase, redColor);
117 char fileName[1000] = { 0 };
120 sprintf (fileName,
"%s/", argv[1]);
122 strcat(fileName,
"tutorial_linedrawing_1.png");
123 writePng<RendererBaseType> (fileName, rBase);
129 printf (
"%s\n", ex.getMessage());
134 printf (
"Unknown exception detected.\n");