[][src]Struct tiff_encoder::TiffFile

pub struct TiffFile { /* fields omitted */ }

Representation of a Tagged Image File.

This is the central structure of the crate. It holds all the other structures of the TIFF file and is responsible for writing them to a fs::File.

Methods

impl TiffFile[src]

pub fn new(ifds: IfdChain) -> TiffFile[src]

Creates a new TiffFile from an IfdChain.

By default, a TiffFile is little-endian and has 42 as the magic number. If you want to change the endianness, consider chaining this function wih with_endianness.

Examples

Creating the simplest valid TiffFile: a single Ifd with only one entry.

#[macro_use]
extern crate tiff_encoder;
use tiff_encoder::prelude::*;

let tiff_file = TiffFile::new(
    Ifd::new()
        .with_entry(0x0000, BYTE![0])
        .single()
);

pub fn with_endianness(self, endian: Endianness) -> Self[src]

Returns the same TiffFile, but with the specified Endianness.

Examples

As this method returns Self, it can be chained when building a TiffFile.

#[macro_use]
extern crate tiff_encoder;
use tiff_encoder::prelude::*;
use tiff_encoder::write;

let tiff_file = TiffFile::new(
    Ifd::new()
        .with_entry(0x0000, BYTE![0])
        .single()
).with_endianness(write::Endianness::MM);

pub fn write_to<P: AsRef<Path>>(self, file_path: P) -> Result<File>[src]

Writes the TiffFile content to a new file created at the given path.

Doing so consumes the TiffFile. Returns the new fs::File wrapped in an io::Result.

Examples

Note that, in this example, file is a fs::File, not a TiffFile.

#[macro_use]
extern crate tiff_encoder;
use tiff_encoder::prelude::*;

let file = TiffFile::new(
    Ifd::new()
        .with_entry(0x0000, BYTE![0])
        .single()
).write_to("file.tif").unwrap();

Errors

This method returns the same errors as Write::write_all.

Panics

This function will panic if the file trying to be written would exceed the maximum size of a TIFF file (2**32 bytes, or 4 GiB).

Auto Trait Implementations

impl !Send for TiffFile

impl !Sync for TiffFile

Blanket Implementations

impl<T, U> Into for T where
    U: From<T>, 
[src]

impl<T> From for T[src]

impl<T, U> TryFrom for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T> Borrow for T where
    T: ?Sized
[src]

impl<T> BorrowMut for T where
    T: ?Sized
[src]

impl<T, U> TryInto for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.

impl<T> Any for T where
    T: 'static + ?Sized
[src]