From e38b77ca4a0bef6e5ae0a28d445929e9af2ddd05 Mon Sep 17 00:00:00 2001 From: cc Date: Wed, 20 Aug 2025 17:19:05 -0700 Subject: Width and Height Bindings --- src/tiff.rs | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) (limited to 'src/tiff.rs') diff --git a/src/tiff.rs b/src/tiff.rs index c2f1a17..7143664 100644 --- a/src/tiff.rs +++ b/src/tiff.rs @@ -21,8 +21,14 @@ unsafe extern "C" { fn TIFFSetWarningHandler(handler: TIFFWarningHandler) -> TIFFWarningHandler; fn TIFFOpen(filename: *const c_char, mode: *const c_char) -> *mut TIFF; fn TIFFClose(tiff_ptr: *mut TIFF); + fn TIFFGetField(tiff_ptr: *mut TIFF, tag: u32, ...) -> i32; } +/// From tiff.h +const TIFFTAG_IMAGEWIDTH: u32 = 256; +/// From tiff.h +const TIFFTAG_IMAGEHEIGHT: u32 = 257; + /// # Ignore TIFF Warnings pub fn ignore_warnings() { unsafe { @@ -50,3 +56,19 @@ pub fn close(tiff_ptr: *mut TIFF) { TIFFClose(tiff_ptr); } } + +pub fn get_width(tiff_ptr: *mut TIFF) -> u32 { + let mut width: u32 = 0; + unsafe { + let status = TIFFGetField(tiff_ptr, TIFFTAG_IMAGEWIDTH, &mut width as *mut u32); + } + return width; +} + +pub fn get_height(tiff_ptr: *mut TIFF) -> u32 { + let mut height: u32 = 0; + unsafe { + let status = TIFFGetField(tiff_ptr, TIFFTAG_IMAGEHEIGHT, &mut height as *mut u32); + } + return height; +} -- cgit v1.2.1