stubs/Pillow/PIL/TiffImagePlugin.pyi (182 lines of code) (raw):
from collections.abc import MutableMapping
from numbers import Rational
from typing import Any, ClassVar
from typing_extensions import Literal
from .ImageFile import ImageFile
logger: Any
READ_LIBTIFF: bool
WRITE_LIBTIFF: bool
IFD_LEGACY_API: bool
II: bytes
MM: bytes
IMAGEWIDTH: int
IMAGELENGTH: int
BITSPERSAMPLE: int
COMPRESSION: int
PHOTOMETRIC_INTERPRETATION: int
FILLORDER: int
IMAGEDESCRIPTION: int
STRIPOFFSETS: int
SAMPLESPERPIXEL: int
ROWSPERSTRIP: int
STRIPBYTECOUNTS: int
X_RESOLUTION: int
Y_RESOLUTION: int
PLANAR_CONFIGURATION: int
RESOLUTION_UNIT: int
TRANSFERFUNCTION: int
SOFTWARE: int
DATE_TIME: int
ARTIST: int
PREDICTOR: int
COLORMAP: int
TILEOFFSETS: int
SUBIFD: int
EXTRASAMPLES: int
SAMPLEFORMAT: int
JPEGTABLES: int
REFERENCEBLACKWHITE: int
COPYRIGHT: int
IPTC_NAA_CHUNK: int
PHOTOSHOP_CHUNK: int
ICCPROFILE: int
EXIFIFD: int
XMP: int
JPEGQUALITY: int
IMAGEJ_META_DATA_BYTE_COUNTS: int
IMAGEJ_META_DATA: int
COMPRESSION_INFO: Any
COMPRESSION_INFO_REV: Any
OPEN_INFO: Any
PREFIXES: Any
class IFDRational(Rational):
def __init__(self, value, denominator: int = ...) -> None: ...
@property
def numerator(a): ...
@property
def denominator(a): ...
def limit_rational(self, max_denominator): ...
def __hash__(self): ...
def __eq__(self, other): ...
__add__: Any
__radd__: Any
__sub__: Any
__rsub__: Any
__mul__: Any
__rmul__: Any
__truediv__: Any
__rtruediv__: Any
__floordiv__: Any
__rfloordiv__: Any
__mod__: Any
__rmod__: Any
__pow__: Any
__rpow__: Any
__pos__: Any
__neg__: Any
__abs__: Any
__trunc__: Any
__lt__: Any
__gt__: Any
__le__: Any
__ge__: Any
__bool__: Any
__ceil__: Any
__floor__: Any
__round__: Any
class ImageFileDirectory_v2(MutableMapping[int, Any]):
group: int | None
tagtype: dict[int, int]
def __init__(self, ifh: bytes = ..., prefix: bytes | None = ..., group: int | None = ...) -> None: ...
@property
def prefix(self) -> bytes: ...
@property
def offset(self) -> int | None: ...
@property
def legacy_api(self) -> bool: ...
def reset(self) -> None: ...
def named(self): ...
def __len__(self) -> int: ...
def __getitem__(self, tag): ...
def __contains__(self, tag): ...
def __setitem__(self, tag, value) -> None: ...
def __delitem__(self, tag) -> None: ...
def __iter__(self): ...
def load_byte(self, data, legacy_api: bool = ...): ...
def write_byte(self, data): ...
def load_string(self, data, legacy_api: bool = ...): ...
def write_string(self, value): ...
def load_rational(self, data, legacy_api: bool = ...): ...
def write_rational(self, *values): ...
def load_undefined(self, data, legacy_api: bool = ...): ...
def write_undefined(self, value): ...
def load_signed_rational(self, data, legacy_api: bool = ...): ...
def write_signed_rational(self, *values): ...
def load(self, fp) -> None: ...
def tobytes(self, offset: int = ...): ...
def save(self, fp): ...
class ImageFileDirectory_v1(ImageFileDirectory_v2):
def __init__(self, *args, **kwargs) -> None: ...
tags: Any
tagdata: Any
tagtype: dict[int, int]
@classmethod
def from_v2(cls, original): ...
def to_v2(self): ...
def __contains__(self, tag): ...
def __len__(self): ...
def __iter__(self): ...
def __setitem__(self, tag, value) -> None: ...
def __getitem__(self, tag): ...
ImageFileDirectory = ImageFileDirectory_v1
class TiffImageFile(ImageFile):
format: ClassVar[Literal["TIFF", "MIC"]]
format_description: ClassVar[str]
tag_v2: Any
tag: Any
def __init__(self, fp: Any | None = ..., filename: Any | None = ...) -> None: ...
@property
def n_frames(self): ...
im: Any
def seek(self, frame) -> None: ...
def tell(self): ...
def load(self): ...
def load_end(self) -> None: ...
SAVE_INFO: Any
class AppendingTiffWriter:
fieldSizes: Any
Tags: Any
f: Any
close_fp: bool
name: Any
beginning: Any
def __init__(self, fn, new: bool = ...) -> None: ...
whereToWriteNewIFDOffset: Any
offsetOfNewPage: int
IIMM: Any
isFirst: bool
def setup(self) -> None: ...
def finalize(self) -> None: ...
def newFrame(self) -> None: ...
def __enter__(self): ...
def __exit__(self, exc_type, exc_value, traceback): ...
def tell(self): ...
def seek(self, offset, whence=...): ...
def goToEnd(self) -> None: ...
endian: Any
longFmt: Any
shortFmt: Any
tagFormat: Any
def setEndian(self, endian) -> None: ...
def skipIFDs(self) -> None: ...
def write(self, data): ...
def readShort(self): ...
def readLong(self): ...
def rewriteLastShortToLong(self, value) -> None: ...
def rewriteLastShort(self, value) -> None: ...
def rewriteLastLong(self, value) -> None: ...
def writeShort(self, value) -> None: ...
def writeLong(self, value) -> None: ...
def close(self) -> None: ...
def fixIFD(self) -> None: ...
def fixOffsets(self, count, isShort: bool = ..., isLong: bool = ...) -> None: ...