Open anhtumai opened 2 years ago
@fschutt btw, do you plan to rewrite this library to not use lopdf? To me, lopdf lacks good documentation, which can be an obstacle for people to contribute.
No, I don't think I'll switch from lopdf as it's still a pretty good crate.
The reason I wanted my own ColorType is because PDF doesn't support all color types that the image crate supports, the image crate also changes a lot and I don't want to break the API.
ColorSpace is just a simplified version of
ColorType
and is not used much in this library codebase.Replacing it with the
color_type
field in ImageXObject will give library users more information, in case they want to do some transformation with the fieldimage_data
.For example, some people reported that adding an image with the Alpha channel will result in a blank page (#84, #119). This can be resolved by removing the alpha channel from ImageXObject::image_data (check this comment: https://github.com/fschutt/printpdf/issues/119#issuecomment-1120434233). However, for different
color_type
,image_data
will have different formats. ForColorType::Rgba8
,image_data
will have format:[Red1, Green1, Blue1, Alpha1, ..., RedN, Green2, Blue2; AlphaN]
. But forColorType::Rgba16
, the format will be[Red1a, Red1b, Green1a, Green1b, Blue1a, Blue1b, Alpha1a, Alpha1b, ...]
. Source: https://github.com/image-rs/image/issues/1711#issuecomment-1120450753