mirror of
https://github.com/lovell/sharp.git
synced 2026-02-07 07:06:16 +01:00
Expose density metadata; set density of images from vector input
This commit is contained in:
@@ -176,6 +176,30 @@ namespace sharp {
|
||||
SetExifOrientation(image, 0);
|
||||
}
|
||||
|
||||
/*
|
||||
Does this image have a non-default density?
|
||||
*/
|
||||
bool HasDensity(VImage image) {
|
||||
return image.xres() > 1.0;
|
||||
}
|
||||
|
||||
/*
|
||||
Get pixels/mm resolution as pixels/inch density.
|
||||
*/
|
||||
int GetDensity(VImage image) {
|
||||
return static_cast<int>(round(image.xres() * 25.4));
|
||||
}
|
||||
|
||||
/*
|
||||
Set pixels/mm resolution based on a pixels/inch density.
|
||||
*/
|
||||
void SetDensity(VImage image, const int density) {
|
||||
const double pixelsPerMm = static_cast<double>(density) / 25.4;
|
||||
image.set("Xres", pixelsPerMm);
|
||||
image.set("Yres", pixelsPerMm);
|
||||
image.set(VIPS_META_RESOLUTION_UNIT, "in");
|
||||
}
|
||||
|
||||
/*
|
||||
Called when a Buffer undergoes GC, required to support mixed runtime libraries in Windows
|
||||
*/
|
||||
|
||||
Reference in New Issue
Block a user