Changeset 1079
- Timestamp:
- 04/07/09 19:06:51 (16 months ago)
- Location:
- trunk
- Files:
-
- 5 modified
-
CHANGELOG (modified) (1 diff)
-
plugins/input/gdal/gdal_featureset.cpp (modified) (1 diff)
-
plugins/input/raster/raster_featureset.cpp (modified) (1 diff)
-
src/agg_renderer.cpp (modified) (2 diffs)
-
src/cairo_renderer.cpp (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
-
trunk/CHANGELOG
r1078 r1079 14 14 0.6.1 SVN 15 15 --------- 16 17 - Rasters: Handle rounding to allow better alignment of raster layers (r1079) (#295) 16 18 17 19 - AGG Renderer: Added option to control output JPEG quality (r1078) (#198) -
trunk/plugins/input/gdal/gdal_featureset.cpp
r571 r1079 126 126 Envelope<double> box = t.forward(intersection); 127 127 128 int start_x = int(box.minx() );129 int start_y = int(box.miny() );130 int width = int(box.width() );131 int height = int(box.height() );128 int start_x = int(box.minx()+0.5); 129 int start_y = int(box.miny()+0.5); 130 int width = int(box.width()+0.5); 131 int height = int(box.height()+0.5); 132 132 133 133 if (width > 0 && height > 0) -
trunk/plugins/input/raster/raster_featureset.cpp
r584 r1079 69 69 Envelope<double> ext=t.forward(intersect); 70 70 71 ImageData32 image((int) ext.width(),(int)ext.height());72 reader->read((int) ext.minx(),(int)ext.miny(),image);71 ImageData32 image((int)(ext.width()+0.5),(int)(ext.height()+0.5)); 72 reader->read((int)(ext.minx()+0.5),(int)(ext.miny()+0.5),image); 73 73 feature->set_raster(mapnik::raster_ptr(new raster(intersect,image))); 74 74 } -
trunk/src/agg_renderer.cpp
r1050 r1079 670 670 Envelope<double> ext=t_.forward(raster->ext_); 671 671 ImageData32 target(int(ext.width() + 0.5),int(ext.height() + 0.5)); 672 int start_x = int(ext.minx()+0.5); 673 int start_y = int(ext.miny()+0.5); 672 674 673 675 if (sym.get_scaling() == "fast"){ … … 683 685 if (sym.get_mode() == "normal"){ 684 686 if (sym.get_opacity() == 1.0) { 685 pixmap_.set_rectangle( int(ext.minx()),int(ext.miny()),target);687 pixmap_.set_rectangle(start_x,start_y,target); 686 688 } else { 687 pixmap_.set_rectangle_alpha2(target, int(ext.minx()),int(ext.miny()), sym.get_opacity());689 pixmap_.set_rectangle_alpha2(target,start_x,start_y, sym.get_opacity()); 688 690 } 689 691 } else if (sym.get_mode() == "grain_merge"){ 690 pixmap_.template merge_rectangle<MergeGrain> (target, int(ext.minx()),int(ext.miny()), sym.get_opacity());692 pixmap_.template merge_rectangle<MergeGrain> (target,start_x,start_y, sym.get_opacity()); 691 693 } else if (sym.get_mode() == "grain_merge2"){ 692 pixmap_.template merge_rectangle<MergeGrain2> (target, int(ext.minx()),int(ext.miny()), sym.get_opacity());694 pixmap_.template merge_rectangle<MergeGrain2> (target,start_x,start_y, sym.get_opacity()); 693 695 } else if (sym.get_mode() == "multiply"){ 694 pixmap_.template merge_rectangle<Multiply> (target, int(ext.minx()),int(ext.miny()), sym.get_opacity());696 pixmap_.template merge_rectangle<Multiply> (target,start_x,start_y, sym.get_opacity()); 695 697 } else if (sym.get_mode() == "multiply2"){ 696 pixmap_.template merge_rectangle<Multiply2> (target, int(ext.minx()),int(ext.miny()), sym.get_opacity());698 pixmap_.template merge_rectangle<Multiply2> (target,start_x,start_y, sym.get_opacity()); 697 699 } else if (sym.get_mode() == "divide"){ 698 pixmap_.template merge_rectangle<Divide> (target, int(ext.minx()),int(ext.miny()), sym.get_opacity());700 pixmap_.template merge_rectangle<Divide> (target,start_x,start_y, sym.get_opacity()); 699 701 } else if (sym.get_mode() == "divide2"){ 700 pixmap_.template merge_rectangle<Divide2> (target, int(ext.minx()),int(ext.miny()), sym.get_opacity());702 pixmap_.template merge_rectangle<Divide2> (target,start_x,start_y, sym.get_opacity()); 701 703 } else if (sym.get_mode() == "screen"){ 702 pixmap_.template merge_rectangle<Screen> (target, int(ext.minx()),int(ext.miny()), sym.get_opacity());704 pixmap_.template merge_rectangle<Screen> (target,start_x,start_y, sym.get_opacity()); 703 705 } else if (sym.get_mode() == "hard_light"){ 704 pixmap_.template merge_rectangle<HardLight> (target, int(ext.minx()),int(ext.miny()), sym.get_opacity());706 pixmap_.template merge_rectangle<HardLight> (target,start_x,start_y, sym.get_opacity()); 705 707 } else { 706 708 if (sym.get_opacity() == 1.0){ 707 pixmap_.set_rectangle( int(ext.minx()),int(ext.miny()),target);709 pixmap_.set_rectangle(start_x,start_y,target); 708 710 } else { 709 pixmap_.set_rectangle_alpha2(target, int(ext.minx()),int(ext.miny()), sym.get_opacity());711 pixmap_.set_rectangle_alpha2(target,start_x,start_y, sym.get_opacity()); 710 712 } 711 713 } -
trunk/src/cairo_renderer.cpp
r1027 r1079 988 988 989 989 //TODO -- support for advanced image merging 990 context.add_image(int(ext.minx() ), int(ext.miny()), target, sym.get_opacity());990 context.add_image(int(ext.minx()+0.5), int(ext.miny()+0.5), target, sym.get_opacity()); 991 991 } 992 992 }
