Commit graph

172 commits

Author SHA1 Message Date
Blake Thompson
490645d2e3 Perhaps a solution to TIFF IO problems 2015-01-22 20:36:45 -06:00
Blake Thompson
51172c8fdf Move image_data.hpp to image.hpp and renamed most everything from image_data to image alone. This might lead to the need to clean up some variables that are currently named image through out the code at some time, but I think in the long term is much better as image is a better name for the base class. 2015-01-22 11:39:37 -06:00
Blake Thompson
e353225772 Modified the name of image_data_null to image_null. 2015-01-22 10:58:01 -06:00
Blake Thompson
e01ce5b7d6 Changed image_data_gray* to image_gray* Ref #2633. 2015-01-21 21:08:04 -06:00
Blake Thompson
22a384ef33 Moved image_data_rgba8 to image_rgba8. Ref #2633 2015-01-21 20:31:02 -06:00
Blake Thompson
0f388ed68f Changed the name of image_data_any to image_any. Moved header file for image_data_any to image_any. Ref #2633 2015-01-21 19:40:12 -06:00
Dane Springmeyer
97869f7dc1 minor include cleanup for image_utils 2015-01-20 09:06:21 -08:00
Blake Thompson
2439f1b298 A whole lot of changes. #Ref 2633 2015-01-20 10:48:33 -06:00
Blake Thompson
aa03cf4f7c Implemented a new get_pixel method to go along with the set_pixel method in image_util. Ref #2633 2015-01-16 22:15:33 -06:00
Blake Thompson
a002139e18 Added set_pixel to visitor pattern and moved it to image_util. Added exception throwing in composite only if debug flags are on.
Ref #2633
2015-01-16 18:26:56 -06:00
Blake Thompson
1470bea9cb Migrated composite_pixel out of image_32, it is now in image_utils. Ref #2633 2015-01-16 16:48:43 -06:00
Blake Thompson
a7b8ca2888 Moved set_rectangle out of image_32 into image_util.
Ref #2633
2015-01-16 15:36:53 -06:00
Blake Thompson
aebb6fee58 Removed the background and set/get background from image_32 class. Removed clear method from image_32. Added new fill method for image_data_any, that allows many generic types to fill an image.
Ref #2633
2015-01-16 13:06:52 -06:00
Blake Thompson
33ccc12355 Moved set_color_to_alpha and set_grayscale_to_alpha to image_util.
Ref # 2633
2015-01-15 20:26:20 -06:00
Blake Thompson
3b1c99ff1b Moved set_alpha to src/image_util.cpp and out of image_32. Added a boolean response to premultiply_alpha and demultiply_alpha so that if it is changed in set_alpha and other locations like the python bindings for composite that the image can be restored to its original state. Removed blend from python bindings.
Ref #2633
2015-01-15 17:57:21 -06:00
Blake Thompson
73d9c60168 Small fix for is solid to work with image_view_any and image_data_any properly. 2015-01-15 10:53:21 -06:00
Dane Springmeyer
cf646030f3 move is_solid to hpp for now to avoid linking errors 2015-01-15 10:21:11 -06:00
Blake Thompson
7ce7416999 Added is_solid to image_utils. It is currently built to support the eventual use of image_view_any and image_data_any, but for a limited time supports the passing of image_view_rgba8 and image_data_rgba8.
Ref #2633
2015-01-15 10:14:00 -06:00
Blake Thompson
cbc76f7361 Some minor corrections to allow for the source to build properly with out linking errors with vis to hidden. 2015-01-14 15:24:16 -06:00
Blake Thompson
4184f75011 Moved premultiply and demultiply out of image_32 and other parts of the code. The image_data object is now responsible for keeping track of its own premultiplied_alpha status. Created a new utility method in image_util to preform premultiplication.
Added visitor pattern to several different methods as well to prepare for image_data_any including compositing.

Ref #2633
2015-01-14 12:42:30 -06:00
Blake Thompson
42ee4ec90d Moved cairo out of the image_util.*pp files and now have created a cairo_io.*pp files.
Ref #2622
2015-01-09 16:49:31 -05:00
Blake Thompson
08c675e1a4 Merge branch 'master' into bugfix/image_util_impl
Conflicts:
	include/mapnik/image_view.hpp
	src/image_util.cpp
2015-01-08 20:25:15 -05:00
Blake Thompson
094d0ec3e1 Another large set of modifications, finally allow this branch to build. Mostly modifications to the image_util_* files. Different processing based on the image type is now possible, and save_to_stream now could possibly accept grayscale with out breaking existing code. 2015-01-08 19:31:14 -05:00
Blake Thompson
035557450d Split out the process for tiff, webp, and jpeg into their own util folders. Added the intial concepts for an image_view_any variant. 2015-01-08 16:55:51 -05:00
Dane Springmeyer
d22ad11b09 remove unneeded image_32 signatures for save_to_string/file after fbecd5f 2015-01-08 13:55:25 -08:00
Blake Thompson
6df688160c More stuff to break it all 2015-01-07 18:16:38 -05:00
Blake Thompson
a3f6a989de An intial commit of a large set of changes attempting to clean up the way that saving images is processed in image_util.hpp and image_util.cpp.
* Changed the passing of rgba_palette to a shared_ptr in order to better facilitate the use of a visitor pattern.
 * Moved PNG util processing into its own set of files so that image_util_impl.hpp would not have to depend on HAVE_PNG.
2015-01-07 15:44:31 -05:00
Blake Thompson
0d2eb9cb5f Updates for Ref #2594 and #2592 (Related to #2491)
* Added support for scanline, stripped and tiled
 * Added new configuration options for TIFF:
   - method
   - tile_height (Default 0)
   - tile_width (Default 0)
   - rows_per_strip (Default 0)
 * Removed 'scanline' configuration option for TIFF.
 * Changed RGBA TIFFs to be ASSOCALPHA rather then UNASSOCALPHA
2014-12-15 02:52:32 +00:00
Blake Thompson
bf5c532269 Series of changes for the tiff encoder:
* Added configuration options for the TIFF encoder. The options are:
   - compression: adobe_deflate(default), deflate, lzw, none
   - zlevel: 0-9
   - scanline: 1,0 (Forces scanline encoding)
 * Fixed bug in encoder with scanline where memory was being modified
 * by TIFFWriteScanline. A buffer is now created for each row to prevent
 * modification of the underlying image_data.
2014-12-04 17:11:33 -05:00
artemp
38da080f82 make concrete image_data type names more expressive and explicit about color channels/depth:
image_data_32 -> image_data_rgba8
image_data_8  -> image_data_gray8
image_data_16 -> image_data_gray16
image_data_float32  -> image_data_gray32f

NOTE: currently image_data_gray16::pixel_type = std::int16_t (signed 16 bit int) to match GDAL
should we support unsigned types?
2014-12-04 11:02:42 +01:00
artemp
333965b588 update copyright year 2014-11-20 15:25:50 +01:00
Dane Springmeyer
f73eef6f7a rollback png8 default in 2.3.x - closes #2110 2014-09-04 12:08:47 -07:00
Dane Springmeyer
52b1da225b less verbose ifdefs 2014-08-09 13:44:42 -07:00
artemp
b6bab7d0bb move cairo renderer into its own subdir 2014-06-06 13:38:00 +01:00
Dane Springmeyer
ddf2226b6f merge with branch 2.3.x 2013-10-05 15:37:29 -07:00
Dane Springmeyer
2b1a725f15 handle conditional compile of webp options not available before webp-v0.1.99 2013-10-04 13:34:07 -07:00
Dane Springmeyer
cd27e521d4 update webp defaults to use WebPConfigInit 2013-10-04 12:59:47 -07:00
Dane Springmeyer
0c1fcd7098 expose all remaining webp encoding options except for 'show_compression' - refs #1964 2013-10-04 01:03:20 -07:00
Dane Springmeyer
732fefb9e1 webp: use WebPConfig instead of custom options struct 2013-10-04 00:24:30 -07:00
Dane Springmeyer
be7d0a55c2 webp: cleanup option handling 2013-10-03 23:59:10 -07:00
Dane Springmeyer
0fb718a4fd default to hextree encoding for 'png' format + png options cleanup 2013-10-03 23:40:19 -07:00
Dane Springmeyer
5d12a345ae start using c++11 features: auto/for/unique_ptr/variadic args - refs #1972 2013-09-19 20:19:01 -07:00
Dane Springmeyer
b6040ac324 correct return type from std::string::substr 2013-09-15 21:12:12 -07:00
Dane Springmeyer
1a8287da06 Add support for webp:alpha=false to create rgb images without alpha + other webp encoding cleanups - closes #1986 2013-08-15 14:47:28 -04:00
Dane Springmeyer
a141c5c27d webp encoding/decoding support - refs #1955 2013-07-19 01:09:17 -04:00
Dane Springmeyer
25dabd6f24 support scale_denominator override in save_to_cairo_file - closes #1930 2013-06-27 20:07:25 -04:00
Dane Springmeyer
9520f58c5a throw if we cannot detect image extension instead of failing silently 2013-02-08 17:14:39 -08:00
Dane Springmeyer
98e974e956 fix ifdef logic 2013-01-29 03:30:01 -05:00
Dane Springmeyer
b1c1c86346 make PNG and TIFF support optional - closes #1704 2013-01-29 02:17:37 -05:00
artemp
f25d4d9279 + implement cairo_context wrapper and remove unnecessary dependencies
( cairomm, libsigc++)
2013-01-09 17:00:30 +00:00
Dane Springmeyer
e682705a86 use the std library tolower over boost::algorithm::to_lower for both better runtime and compile speed - closes #1677 2013-01-03 19:27:53 -08:00
Dane Springmeyer
d0f0f9690f zero color images are not valid - catch this earlier on - closes #1568 2012-11-08 16:39:31 -05:00
Dane Springmeyer
211b102ec5 support writing full color png with rgb only (no alpha) - closes #1559 2012-11-06 11:44:44 -05:00
Dane Springmeyer
5a99d7fbdb add miniz support - closes #1554 2012-11-04 07:10:05 -05:00
Dane Springmeyer
f9fa9c2461 Add support for missing user ability to set Z_FIXED zlib strategy 2012-11-04 06:58:25 -05:00
Dane Springmeyer
eda4436b51 ensure that the transparency level option is passed to the octree encoder - closes #1556 2012-11-04 06:16:18 -05:00
Dane Springmeyer
0ccf9254ec include what you use 2012-11-01 10:02:08 -07:00
Dane Springmeyer
f7bd53c0d3 make a note about what Z_DEFAULT_COMPRESSION means to zlib 2012-10-25 13:30:14 -07:00
Dane Springmeyer
3823890b40 rollback 34c3128b0c, move 'scaling' to proper enum, and move image_scaling functions to new cpp/hpp 2012-07-06 16:45:58 -07:00
Dane Springmeyer
d8c719f05e finish exposing scale_factor to cairo_renderer 2012-07-05 14:54:58 -07:00
Artem Pavlenko
e08339aee9 + use custom span_image_filter preserve alpha 2012-05-14 17:32:12 +01:00
Artem Pavlenko
aad7c5e384 + implement compositing for text
+ refactor image_32
2012-05-09 12:39:23 +01:00
Artem Pavlenko
a72ee4ba66 Merge branch 'master' into compositing
Conflicts:
	include/mapnik/image_compositing.hpp
	include/mapnik/util/conversions.hpp
	include/mapnik/value.hpp
	src/agg/agg_renderer.cpp
	src/agg/process_line_symbolizer.cpp
	src/agg/process_polygon_symbolizer.cpp
	src/png_reader.cpp
	src/svg_parser.cpp
	utils/svg2png/svg2png.cpp
2012-05-01 12:35:49 +01:00
kunitoki
af201551b8 got rid of old CVS $Id comments kludge in files 2012-04-08 02:45:01 +02:00
Artem Pavlenko
81566a8f80 + use pre-multiplied pixel format in agg_renderer
(de-multiply in end_map_processing())
+ support for compositing at style level
+ image blur (TODO)
2012-04-03 13:10:30 +01:00
Artem Pavlenko
d76136ba40 use mapnik::util namespace for conversions 2012-03-23 13:18:33 +00:00
Artem Pavlenko
242385f16d use mapnik::util namespace for conversions 2012-03-23 11:08:39 +00:00
Dane Springmeyer
40b0ab8d6c add missing #else 2012-03-21 17:45:19 -07:00
Dane Springmeyer
d55ad5a4d2 check which cairo surfaces are supported 2012-03-21 15:34:59 -07:00
Dane Springmeyer
f1aee03912 forward declare marker so marker_cache api access is cleaner 2012-03-08 08:37:58 -08:00
Artem Pavlenko
726724b3c7 pass by ref
move conversions impl into .cpp
2012-03-01 18:36:13 +00:00
Dane Springmeyer
f17031084c use new conversions header - refs #1055 2012-02-21 10:59:11 -08:00
Dane Springmeyer
bfd79276a7 only encode if image has dimensions (avoid abort in png writer on zero size width or height) 2012-02-10 12:14:53 -08:00
Dane Springmeyer
a682212266 small optimization by avoiding repeated case sensitive checks 2012-02-10 11:20:00 -08:00
Dane Springmeyer
fec0750fcf remove usage of boost::lexical_cast during image encoding - refs #1055 2012-02-08 15:45:08 -08:00
Dane Springmeyer
17d13cff67 whitespace fixes - closes #911 2012-02-01 17:53:35 -08:00
kunitoki
3b3ff2e927 - palette not supported in tiff images (yet) 2011-11-28 17:18:30 +01:00
kunitoki
e011cab6e0 - initial support for producing maps as tiff files (should be pretty straightforward to implement geotiff from here) 2011-11-28 16:59:19 +01:00
kunitoki
f1fb0c1939 - fix copyright to 2011 (script to do this will follow) 2011-10-23 15:04:25 +02:00
Artem Pavlenko
91c315aee7 applied patch from kkaefer (gist: 9e0d59a418f8ca653d26) 2011-09-07 20:01:01 +00:00
Artem Pavlenko
02c143895d + refactor palette stuff a bit
TODO: We need to change save_to_file|string interface
  to avoid passing dummy rgba_palette objects.
2011-09-07 15:01:25 +00:00
Dane Springmeyer
25196e3a8e revise png palette api by removing default arguments to ensure no temporary references 2011-09-07 00:45:18 +00:00
Dane Springmeyer
a013cd5032 add support for fixed color palettes when encoding to png 2011-08-31 02:28:14 +00:00
Dane Springmeyer
caf541d87e add support for controlling zlib compression level and strategy when encoding to png - patch from kkaefer - closes #841 2011-08-26 05:58:21 +00:00
Robert Coup
8e8f43e50f Fix incorrect blending of rasters with alpha channel. Use pixfmt_rgba32_plain rather than pixfmt_rgba32, and undo old changes to blender_rgba<>::blender_pix which aren't needed anymore. Thanks @rfw, @cdestigter, @albertov [fixes #759] 2011-07-15 03:59:44 +00:00
Dane Springmeyer
e94667a8ae use std::string 2011-06-24 00:53:00 +00:00
Dane Springmeyer
aeb1b7f963 renable previous (non-agg) internal bilinear scaling method for testing #759a 2011-05-12 16:43:23 +00:00
Dane Springmeyer
e69f17eb35 add ability to pass a scaling ratio just to the affine scaling - needed by grid_renderer 2011-05-02 22:30:50 +00:00
Dane Springmeyer
5bf6efafb0 apply patch from Craig de Stigter for better scaling methods using agg image filters - closes #656 2011-01-27 03:47:54 +00:00
Artem Pavlenko
9b3809443c + fix naming style in mapnik::Map 2010-06-25 15:23:35 +00:00
Artem Pavlenko
c99dff801a + forward decl mapnik::Map 2010-06-18 15:38:29 +00:00
Dane Springmeyer
9804e7e90d scons: make libjpeg dependency optional (still required by default) 2010-06-03 19:50:27 +00:00
Artem Pavlenko
246731874b + apply 'mapnik-format' to *.cpp *.hpp 2010-06-02 11:03:30 +00:00
Dane Springmeyer
d7256295ae port r1680/r1683/r1690 from 0.7.1-dev branch to trunk 2010-03-12 18:23:06 +00:00
Dane Springmeyer
067fdb884d sync trunk with new cairo support added previously to 0.7 branch in r1531 2010-01-11 18:55:30 +00:00
Artem Pavlenko
47dc1e197b + merge mapnik2 to trunk 2009-12-16 20:02:06 +00:00
Dane Springmeyer
e7dd9094a5 revert unintended file changes from r1275 2009-07-26 01:15:44 +00:00
Dane Springmeyer
45266074c8 scons: fix typo, and ensure all temp output is writeable 2009-07-26 01:08:51 +00:00
Artem Pavlenko
cba404058e + formatting 2009-07-13 22:36:16 +00:00
Dane Springmeyer
4276ae24fe allow customization of JPEG output image quality using syntax similar to png256, but using 0-100 as suffix, e.g. render_to_file(m,'image.jpeg','jpeg80') - closes #198 - patch from Dennis Luxen 2009-04-07 15:48:51 +00:00