
Library enables reading and writing of Tagged Image File Format (TIFF) files, offering multi-platform support. Inspired by TIFF Java, supports parsing, raster extraction, and TIFF file creation.
The library inspired by the TIFF Java developed at the National Geospatial-Intelligence Agency (NGA) in collaboration with BIT Systems. The software use, modification, and distribution rights are stipulated within the MIT license.
If you'd like to contribute to this project, please make a pull request. We'll review the pull request and discuss the changes. All pull request contributions to this project will be released under the MIT license.
Tiffany is a Kotlin Multiplatform library for reading and writing Tagged Image File Format files. Implementation is based on the TIFF specification and ported from TIFF Java implementation: https://github.com/ngageoint/tiff-java/
View the latest Javadoc TODO
//val data: ByteArray = ...
val tiffFile: TIFFImage = TiffReader(data).readTiff()
val fileDirectories: List<FileDirectory> = tiffFile?.fileDirectories
// read the first directory in tiff file
val fileDirectory = fileDirectories[0]
val rasters: TypedRasters = fileDirectory.readTypedRasters()
// get the width and height
val rasterWidth = rasters.width
val rasterHeight = rasters.height
val samples1: ShortArray = (rasters.samples[0] as TypedSample.ShortSample).data
val samples2: ShortArray = (rasters.samples[1] as TypedSample.ShortSample).data
val tiffImage: TiffImage = ...
val tiffBytes: ByteArray = TiffWriter().writeTiffToBytes(tiffImage)
TODO provide link to the maven once published
Build this repository using Gradle:
./gradlew buildPublish to local maven for local testing:
./gradlew publishToMavenLocalThe library inspired by the TIFF Java developed at the National Geospatial-Intelligence Agency (NGA) in collaboration with BIT Systems. The software use, modification, and distribution rights are stipulated within the MIT license.
If you'd like to contribute to this project, please make a pull request. We'll review the pull request and discuss the changes. All pull request contributions to this project will be released under the MIT license.
Tiffany is a Kotlin Multiplatform library for reading and writing Tagged Image File Format files. Implementation is based on the TIFF specification and ported from TIFF Java implementation: https://github.com/ngageoint/tiff-java/
View the latest Javadoc TODO
//val data: ByteArray = ...
val tiffFile: TIFFImage = TiffReader(data).readTiff()
val fileDirectories: List<FileDirectory> = tiffFile?.fileDirectories
// read the first directory in tiff file
val fileDirectory = fileDirectories[0]
val rasters: TypedRasters = fileDirectory.readTypedRasters()
// get the width and height
val rasterWidth = rasters.width
val rasterHeight = rasters.height
val samples1: ShortArray = (rasters.samples[0] as TypedSample.ShortSample).data
val samples2: ShortArray = (rasters.samples[1] as TypedSample.ShortSample).data
val tiffImage: TiffImage = ...
val tiffBytes: ByteArray = TiffWriter().writeTiffToBytes(tiffImage)
TODO provide link to the maven once published
Build this repository using Gradle:
./gradlew buildPublish to local maven for local testing:
./gradlew publishToMavenLocal