Blake Thompson
de99180a44
Added new image_cast method and added its bindings to python, added two new properities to images: offset and scaling. Added way to cast between image types with offset and scaling. Added new unit tests for color and casting. Made it so that pixel setting doesn't result in overflows or underflows. Made the return of get_pixel, dynamic based on what is passed to it. Added new methods for setting pixels that are doubles and ints.
2015-01-28 20:20:14 -06:00
Blake Thompson
b090882902
Added compare utility to python bindings and image_util, modified set_grayscale_to_alpha to take a color optionally.
2015-01-27 11:41:05 -06:00
Dane Springmeyer
fa17f0bdb0
actually src needs to be non-const
2015-01-26 21:44:25 -08:00
Dane Springmeyer
84b5194130
image.composite: source should be immutable
2015-01-26 21:35:02 -08:00
Blake Thompson
a100b2fe1f
Fixed the issues associated with TIFFs, now they always will return as premultiplied in the event they are rgba8 due to the way that the TIFF reader operates. Also added premultiply as a flag inside color class and exposed many of its components, made it so that setting and getting pixels took into consideration the state of the color and the image when dealing with the two.
2015-01-23 18:08:59 -06:00
Blake Thompson
490645d2e3
Perhaps a solution to TIFF IO problems
2015-01-22 20:36:45 -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
Blake Thompson
93f835177b
Removed all the code for the previous type of image and image_32. Ref #2633
2015-01-21 17:57:16 -06: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
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
1f540b42c6
Removed the set_rectangle_alpha code from image_32. Added new blend using composite to python bindings to replace it by doing src_over with composite.
...
Ref #2633
2015-01-15 13:01:32 -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
202a0e8e5f
Added a lot of premultiply_alpha functions to attempt to have proper premultiplication of data prior to compositing. There still seem to be some errors in the resulting images, but I am not quite sure what they are yet.
2015-01-14 18:29:00 -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
7a16ebe7fa
Merge remote-tracking branch 'origin/image' into release/image_data_any
2015-01-12 14:51:08 -06:00
Dane Springmeyer
2747fd5329
fix python bindings after #2629
2015-01-08 17:38:22 -08:00
Dane Springmeyer
049be27b1e
fix compile when building against pycairo headers
2015-01-08 16:35:55 -08:00
Dane Springmeyer
fbecd5ff33
always pass image_data to save_to_string/file
2015-01-08 13:54:43 -08:00
Dane Springmeyer
acb3bb0821
trim down image_32 - refs #2627
2015-01-08 13:16:32 -08:00
artemp
f6651ac74d
use std::make_shared
2015-01-07 12:20:19 +01:00
artemp
b0b89e76d1
image class - containing image_data_any and initial basic python interface
2015-01-06 12:44:28 +01: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
83588937b9
silence boost warnings
2014-10-21 16:37:27 -07:00
artemp
b38dc14188
fix include order and ensure mapnik/config.hpp is before boost_shim_..
2014-08-12 18:44:11 +01:00
Dane Springmeyer
2b1ab49463
finish python bindings + tests for #1448 and #1432
2014-08-04 12:10:26 -07:00
Dane Springmeyer
f66d93d0ec
fix compile of binding/python/mapnik_image.cpp after cairo header shuffling
2014-06-09 10:49:54 -07:00
Dane Springmeyer
0d58a8aee4
merge with 2.3.x
2013-10-28 14:45:52 -07:00
Dane Springmeyer
86dfa0778a
fix cairo reference counting and add more cairo context tests - closes #2031
2013-10-28 12:46:44 -07:00
Dane Springmeyer
5a2954dab7
attempt to fix boost python with c++11 and boost 1.49 - refs #2022
2013-10-23 15:42:01 -07:00
artemp
7adee4ab36
c++11 : remove boost::make_shared includes
2013-10-17 15:09:56 +01:00
artemp
b315eb2167
+ use std::shared_ptr and std::make_shared
2013-09-20 14:01:27 +01:00
artemp
4f4e2b001e
Merge branch 'master' into c++11
...
Conflicts:
SConstruct
benchmark/run.cpp
bindings/python/mapnik_datasource.cpp
bindings/python/mapnik_feature.cpp
bindings/python/python_optional.hpp
include/mapnik/css_color_grammar.hpp
include/mapnik/expression_grammar.hpp
include/mapnik/feature.hpp
include/mapnik/feature_style_processor_impl.hpp
include/mapnik/image_filter_types.hpp
include/mapnik/image_util.hpp
include/mapnik/json/geometry_generator_grammar.hpp
include/mapnik/json/geometry_grammar.hpp
include/mapnik/processed_text.hpp
include/mapnik/tiff_io.hpp
include/mapnik/util/geometry_svg_generator.hpp
include/mapnik/util/geometry_wkt_generator.hpp
include/mapnik/utils.hpp
include/mapnik/webp_io.hpp
include/mapnik/wkt/wkt_grammar.hpp
plugins/input/shape/shape_datasource.cpp
plugins/input/shape/shapefile.hpp
src/expression_grammar.cpp
src/expression_string.cpp
src/image_util.cpp
src/json/feature_collection_parser.cpp
src/json/feature_parser.cpp
src/miniz.c
src/symbolizer_helpers.cpp
src/tiff_reader.cpp
src/webp_reader.cpp
tests/cpp_tests/geometry_converters_test.cpp
tests/cpp_tests/image_io_test.cpp
tests/cpp_tests/map_request_test.cpp
tests/python_tests/image_test.py
tests/visual_tests/test.py
2013-08-30 09:46:09 +01:00
Dane Springmeyer
c011524b67
add mapnik.Image.premultiplied() to query status of pixel premultiplication
2013-07-02 16:01:23 -04:00
artemp
3f6abd3362
+ backport image_reader from buffer/string from image-readers-c++11 branch
2013-04-22 11:35:09 +01:00
artemp
c73e48fa58
+ use std::unique_ptr instead of std::auto_ptr (deprecated!)
2013-04-19 09:50:50 +01:00
artemp
438bfad732
+ factory : variadic templates based implementation ( requires c++11)
...
+ image_reader : stream based reading interface (boost::iostreams)
+ register additional png and jpeg readers with following sigs :
```
std::auto_ptr<mapnik::image_reader> reader(mapnik::get_image_reader(buffer,size));
// buffer - char const*
// size - size_t
```
+ initial type_from_bytes implementation (TODO: add more types)
+ python : mapnik.Image.fromstring(str) mapnik.Image.frombuffer(buf)
2013-04-12 12:46:40 +01:00
Dane Springmeyer
662ff26f94
im/view.is_solid method in python bindings to match node-mapnik - closes #1728
2013-02-22 13:40:05 -08: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
eebc8cc73e
add image/grid clear methods to make it easier to quickly re-use previously allocated objects for rendering - closes #1571
2012-11-11 21:35:50 -08:00
Dane Springmeyer
9b053f493b
make src_over the default compositing operation (and an optional kwarg) for im.composite()
2012-10-04 14:19:36 -07:00
Dane Springmeyer
7866cc3dec
expose more compositing options in python (the non-agg custom ones) to set up for testing as per #1493 and #1369
2012-10-01 17:41:07 -07:00
Dane Springmeyer
269569250c
use mapnik.Image for visual tests - closes #1296
2012-07-06 17:44:15 -07:00
Dane Springmeyer
eb4740b50f
fix behavior of compositing via python api now that we have premultiplication issues sorted out in core - refs #1262 and #314 and #1211
2012-06-21 15:44:57 -04:00