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
Jon Burgess
d1b365098f
Includes png.h early to avoid ordering issues with setjmp.h. Fixes #231
2009-02-15 11:56:54 +00:00
Artem Pavlenko
8b298729bf
+ mapnik-centralise-image-tostring-functions.patch (jonb)
...
(moves Image.tostring() to core c++ code)
2009-01-19 22:51:55 +00:00
Artem Pavlenko
a9348db058
part of previous commit
2008-01-25 14:42:13 +00:00
Artem Pavlenko
f802250e0f
refactored image i/o , see ticket #15 for more details.
2008-01-23 11:34:59 +00:00
Artem Pavlenko
52bed0b89a
applied patch from Jochen (throw an exception if unknown type)
2007-12-19 16:34:36 +00:00
Artem Pavlenko
58f4431df1
support for palette based PNGs, user 'png256' as a format parameter (see updated rundemo.py)
2007-12-10 19:59:17 +00:00
Artem Pavlenko
4586586448
added convinence overloads for 'save_to_file' and 'render_to_file'
...
Example:
>>> from mapnik import *
>>> im = Image(200,200)
>> save_to_file('test.png',im) # Guess image type from file extension
>> save_to_file('test.png,'jpeg',im) # Explicitly save as JPEG
2007-12-06 12:14:29 +00:00
Artem Pavlenko
27f88c9ec0
small fix
2007-12-06 10:59:28 +00:00
Artem Pavlenko
b40706c295
1. templated save_as_png and save_as_jpeg
...
2. use std::iostream for I/O in save_to_file
TODO: allow writing an output image to memory buffer (i.e Python StringIO)
2007-10-17 14:47:56 +00:00
David
bc54b150ea
- reversed header include order
2007-10-08 17:42:41 +00:00
Artem Pavlenko
77854e7d76
use PNG_MMX_CODE_SUPPORTED instead of PNG_ASSEMBLER_CODE_SUPPORTED (mmx.patch from Dominic Hargreaves)
2006-12-18 10:27:09 +00:00
Artem Pavlenko
6fd7d3e488
use libpng native alloc/dealloc
...
(/valgrind-new-delete2.patch from Jon Burgess)
2006-11-28 00:13:31 +00:00
Artem Pavlenko
f1393cc019
1. hit_test implementation for geometry objects:
...
bool hit_test(double x, double y, double tol);
2. added image_view(unsigned x, unsigned y, unsigned width, unsigned height)
allowing to select region from image data e.g (in Python):
im = Image(2048,2048)
view = im.view(0,0,256,256)
save_to_file(filename,type, view)
3. changed envelope method to return vy value in datasource classes
4. features_at_point impl for shape and postgis plug-ins
2006-11-25 11:02:59 +00:00
Artem Pavlenko
c091289ffa
added extra check to compile on x86_64 Gentoo.
...
&& defined(PNG_ASSEMBLER_CODE_SUPPORTED)
Thanks to Vincent Schut!
2006-10-26 20:23:12 +00:00
Artem Pavlenko
992af4747d
1. move include to mapnik/include
...
2. update demos,bibdibgs etc.
2006-10-04 11:22:18 +00:00
Artem Pavlenko
26a406706e
wrap C headers with :
...
extern "C"
{
//
}
2006-08-31 21:32:07 +00:00