Changeset 666
- Timestamp:
- 03/11/08 19:37:53 (9 months ago)
- Location:
- trunk
- Files:
-
- 1 added
- 3 modified
-
bindings/python/SConscript (modified) (1 diff)
-
bindings/python/mapnik_python.cpp (modified) (7 diffs)
-
bindings/python/python_cairo.cpp (added)
-
demo/python/rundemo.py (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
-
trunk/bindings/python/SConscript
r650 r666 25 25 26 26 Import('env') 27 28 env.ParseConfig('pkg-config --cflags pycairo') 27 29 28 30 prefix = env['PYTHON_PREFIX'] + '/' + env['LIBDIR_SCHEMA'] + '/python' + env['PYTHON_VERSION'] + '/site-packages/' -
trunk/bindings/python/mapnik_python.cpp
r618 r666 27 27 #include <boost/python/exception_translator.hpp> 28 28 29 void register_cairo(); 29 30 void export_color(); 30 31 void export_coord(); … … 58 59 #include <mapnik/map.hpp> 59 60 #include <mapnik/agg_renderer.hpp> 61 #include <mapnik/cairo_renderer.hpp> 60 62 #include <mapnik/graphics.hpp> 61 63 #include <mapnik/image_util.hpp> … … 64 66 #include <mapnik/save_map.hpp> 65 67 68 #include <pycairo.h> 66 69 67 70 void render(const mapnik::Map& map,mapnik::Image32& image, unsigned offset_x = 0, unsigned offset_y = 0) … … 74 77 { 75 78 mapnik::agg_renderer<mapnik::Image32> ren(map,image); 79 ren.apply(); 80 } 81 82 void render3(const mapnik::Map& map,PycairoSurface* surface, unsigned offset_x = 0, unsigned offset_y = 0) 83 { 84 Cairo::RefPtr<Cairo::Surface> s(new Cairo::Surface(surface->surface)); 85 mapnik::cairo_renderer<Cairo::Surface> ren(map,s,offset_x, offset_y); 86 ren.apply(); 87 } 88 89 void render4(const mapnik::Map& map,PycairoSurface* surface) 90 { 91 Cairo::RefPtr<Cairo::Surface> s(new Cairo::Surface(surface->surface)); 92 mapnik::cairo_renderer<Cairo::Surface> ren(map,s); 76 93 ren.apply(); 77 94 } … … 126 143 127 144 register_exception_translator<mapnik::config_error>(translator); 145 register_cairo(); 128 146 export_query(); 129 147 export_feature(); … … 153 171 export_coord(); 154 172 export_map(); 155 173 156 174 def("render_to_file",&render_to_file1); 157 175 def("render_to_file",&render_to_file2); … … 159 177 def("render",&render); 160 178 def("render",&render2); 179 def("render",&render3); 180 def("render",&render4); 161 181 def("scale_denominator", &scale_denominator); 162 182 -
trunk/demo/python/rundemo.py
r618 r666 309 309 310 310 # Save image to files 311 images = [] 311 312 im.save('demo.png', 'png') # true-colour RGBA 313 images.append('demo.png') 312 314 im.save('demo256.png', 'png256') # save to palette based (max 256 colours) png 315 images.append('demo256.png') 313 316 im.save('demo.jpg', 'jpeg') 314 315 print """\n\nThree maps have been rendered in the current directory: 316 - demo.jpg 317 - demo.png 318 - demo256.png 319 320 Have a look!\n\n""" 317 images.append('demo.jpg') 318 319 # Render cairo examples 320 try: 321 import cairo 322 surface = cairo.SVGSurface('demo.svg', m.width,m.height) 323 render(m, surface) 324 images.append('demo.svg') 325 surface = cairo.PDFSurface('demo.pdf', m.width,m.height) 326 render(m, surface) 327 images.append('demo.pdf') 328 except: 329 print '\n\nSkipping cairo examples as Pycairo not available' 330 331 print "\n\n", len(images), "maps have been rendered in the current directory:" 332 for image in images: 333 print "-", image 334 print "\n\nHave a look!\n\n"
