def _write_body(self, fp): written = write_fmt(fp, 'I', self.depth) written += write_fmt(fp, '4I', *self.rectangle) written += write_fmt(fp, 'HB', self.pixel_depth, self.compression.value) written += write_bytes(fp, self.data) return written
def write(self, fp): written = write_fmt(fp, 'I4s4s', self.version, b'8BIM', self.blend_mode.value) written += self.color.write(fp) written += write_fmt(fp, '2B', self.opacity, self.enabled) written += self.native_color.write(fp) return written
def write(self, fp, **kwargs): written = write_fmt(fp, 'I', int(self.freq * 0x10000)) written += write_fmt(fp, 'H', self.unit) written += write_fmt(fp, 'i', int(self.angle * 0x10000)) written += write_fmt(fp, 'H4x2?', self.shape, self.use_accurate, self.use_printer) return written
def write(self, fp, **kwargs): written = write_fmt(fp, 'I', self.kind.value) if self.signature and self.key: written += write_fmt(fp, '4s4s', self.signature, self.key.value) if self.sub_type is not None: written += write_fmt(fp, 'I', self.sub_type) return written
def write(self, fp, **kwargs): written = write_fmt(fp, '3h', *self.shadows) written += write_fmt(fp, '3h', *self.midtones) written += write_fmt(fp, '3h', *self.highlights) written += write_fmt(fp, 'B', self.luminosity) written += write_padding(fp, written, 4) return written
def write(self, fp, **kwargs): written = write_fmt(fp, 'H', self.channel_id) if len(self.points) > 0 and isinstance(self.points[0], int): written += write_fmt(fp, '256B', *self.points) else: written += write_fmt(fp, 'H', len(self.points)) written += sum(write_fmt(fp, '2H', *p) for p in self.points) return written
def write(self, fp, **kwargs): id = getattr(self.id, 'value', self.id) written = write_fmt(fp, 'H', id) if self.id == ColorSpaceID.LAB: written += write_fmt(fp, '4h', *self.values) else: written += write_fmt(fp, '4H', *self.values) return written
def _write_body(self, fp): written = 0 if self.overlay_color is not None: written = write_fmt(fp, '5H', *self.overlay_color) written += write_fmt(fp, 'HB', self.opacity, self.kind.value) written += write_padding(fp, written, 4) logger.debug('writing global layer mask info, len=%d' % (written)) return written
def write(self, fp, **kwargs): written = write_fmt(fp, 'HBx', self.version, self.enable) written += write_fmt(fp, '3h', *self.colorization) written += write_fmt(fp, '3h', *self.master) for item in self.items: written += write_fmt(fp, '4h', *item[0]) written += write_fmt(fp, '3h', *item[1]) written += write_padding(fp, written, 4) return written
def write(self, fp, padding=4, **kwargs): written = write_fmt(fp, '4sI', self.kind, self.version) written += write_pascal_string(fp, self.uuid, 'macroman', padding=1) written += write_fmt(fp, '4I', self.page, self.total_pages, self.anti_alias, self.layer_type.value) written += write_fmt(fp, '8d', *self.transform) written += self.warp.write(fp, padding=1) written += write_padding(fp, written, padding) return written
def write(self, fp, **kwargs): written = write_fmt(fp, '2HI', self.major_version, self.minor_version, len(self)) for item in self: data = item.tobytes() written += write_fmt(fp, 'I', len(data) + 4) written += write_bytes(fp, data) written += write_padding(fp, written, 4) return written
def write(self, fp): written = write_fmt( fp, 'HhH2I10s', len(self), self.operation, self._unknown1, self._unknown2, self.index, self._unknown3 ) for item in self: written += write_fmt(fp, 'H', item.selector.value) written += item.write(fp) return written
def write(self, fp, **kwargs): written = write_fmt(fp, 'I', self.is_written) if self.is_written == 0: return written if self.depth is None: written += write_fmt(fp, 'I', 0) return written return written + write_length_block(fp, lambda f: self._write_body(f))
def _write_body(self, fp): written = write_fmt(fp, 'III', self.version, self.blur, self.intensity) written += self.color.write(fp) written += write_fmt( fp, '4s4s2B', b'8BIM', self.blend_mode.value, self.enabled, self.opacity ) return written
def write(self, fp, **kwargs): written = write_fmt(fp, '2H', self.version, len(self)) for key in self: written += write_fmt(fp, '4s4s', b'8BIM', key.value) written += write_length_block( fp, lambda f: self[key].write(f) ) written += write_padding(fp, written, 4) return written
def write(self, fp, padding=4, **kwargs): written = write_fmt(fp, 'H6d', self.version, *self.transform) written += write_fmt(fp, 'H', self.text_version) written += self.text_data.write(fp, padding=1) written += write_fmt(fp, 'H', self.warp_version) written += self.warp.write(fp, padding=1) written += write_fmt(fp, '4i', self.left, self.top, self.right, self.bottom) written += write_padding(fp, written, padding) return written
def write(self, fp, **kwargs): written = write_fmt(fp, 'H', self.version) if self.version == 3: written += write_fmt(fp, '3I', *self.xyz) else: written += write_fmt(fp, 'H4H', self.color_space, *self.color_components) written += write_fmt(fp, 'IB', self.density, self.luminosity) written += write_padding(fp, written, 4) return written
def _write_body(self, fp): written = 0 if self.composite_ranges is not None: for x in self.composite_ranges: written += write_fmt(fp, '2H', *x) if self.channel_ranges is not None: for channel in self.channel_ranges: for x in channel: written += write_fmt(fp, '2H', *x) return written
def write(self, fp): written = write_fmt(fp, 'B', self.is_written) def writer(f): length = write_fmt(f, 'H', self.compression) length += write_bytes(f, self.data) return length if self.is_written: written += write_fmt(fp, '4i', *self.rectangle) written += write_length_block(fp, writer, fmt='Q') return written
def write(self, fp): written = write_fmt( fp, 'IIIiI', self.version, self.blur, self.intensity, self.angle, self.distance ) written += self.color.write(fp) written += write_fmt( fp, '4s4s3B', b'8BIM', self.blend_mode.value, self.enabled, self.use_global_angle, self.opacity ) written += self.native_color.write(fp) return written
def write(self, fp, **kwargs): written = write_fmt(fp, 'H', self.version) for index in range(29): written += self[index].write(fp) if self.extra_version is not None: written += write_fmt(fp, '4sH', b'Lvls', self.extra_version) written += write_fmt(fp, 'H', len(self)) for index in range(29, len(self)): written += self[index].write(fp) written += write_padding(fp, written, 4) return written
def write(self, fp, **kwargs): written = write_fmt(fp, '2I', self.version, self.image_mode.value) written += write_fmt(fp, '2h', *self.point) written += write_unicode_string(fp, self.name) written += write_pascal_string(fp, self.pattern_id, encoding='ascii', padding=1) if self.color_table: for row in self.color_table: written += write_fmt(fp, '3B', *row) written += write_fmt(fp, '4x') written += self.data.write(fp) return written
def write(self, fp, **kwargs): written = write_fmt(fp, '4s2BH', self.kind, self.is_open, self.flags, self.optional_blocks) written += write_fmt(fp, '4i', *self.icon_location) written += write_fmt(fp, '4i', *self.popup_location) written += self.color.write(fp) written += write_pascal_string(fp, self.author, 'macroman', padding=2) written += write_pascal_string(fp, self.name, 'macroman', padding=2) written += write_pascal_string(fp, self.mod_date, 'macroman', padding=2) written += write_fmt(fp, 'I4s', len(self.data) + 12, self.marker) written += write_length_block(fp, lambda f: write_bytes(f, self.data)) return written
def write(self, fp, **kwargs): written = write_fmt(fp, 'BHI', self.is_map, self.version, self.count_map) if self.is_map: written += sum(write_fmt(fp, '256B', *item) for item in self.data) else: for points in self.data: written += write_fmt(fp, 'H', len(points)) written += sum(write_fmt(fp, '2H', *item) for item in points) if self.extra is not None: written += self.extra.write(fp) written += write_padding(fp, written, 4) return written
def write_length_and_key(fp, value): """ Helper to write descriptor classID and key. """ if isinstance(value, DescriptorClassID): length = (len(value.value) != 4) * len(value.value) written = write_fmt(fp, 'I', length) written += write_bytes(fp, value.value) elif value in _UNKNOWN_CLASS_ID: written = write_fmt(fp, 'I', 0) written += write_bytes(fp, value) else: written = write_fmt(fp, 'I', len(value)) written += write_bytes(fp, value) return written
def write(self, fp, padding=4): written = 0 for item in self: written += write_fmt(fp, 'H', item.selector.value) written += item.write(fp) written += write_padding(fp, written, padding) return written
def write(self, fp, version=1): """Write the element to a file-like object. :param fp: file-like object :param version: psd file version """ return write_fmt(fp, ('hI', 'hQ')[version - 1], *attr.astuple(self))
def write(self, fp): """Write the element to a file-like object. :param fp: file-like object """ return write_fmt(fp, '4sI%dd' % len(self.values), self.unit.value, len(self.values), *self.values)
def write(self, fp): """Write the element to a file-like object. :param fp: file-like object """ written = write_fmt(fp, 'I', self.items_count) written += self._write_body(fp) return written
def write(self, fp, padding=1, **kwargs): written = write_fmt(fp, '4sI', self.kind.value, self.version) written += write_pascal_string(fp, self.uuid, 'macroman', padding=1) written += write_unicode_string(fp, self.filename) written += write_fmt(fp, '4s4sQB', self.filetype, self.creator, len(self.data) if self.data is not None else 0, self.open_file is not None) if self.open_file is not None: written += self.open_file.write(fp, padding=1) if self.kind == LinkedLayerType.EXTERNAL: written += self.linked_file.write(fp, padding=1) if self.version > 3: written += write_fmt(fp, 'I4Bd', *self.timestamp) written += write_fmt(fp, 'Q', self.filesize) if self.version > 2: written += write_bytes(fp, self.data) elif self.kind == LinkedLayerType.ALIAS: written += write_fmt(fp, '8x') if self.kind == LinkedLayerType.DATA: written += write_bytes(fp, self.data) if self.child_id is not None: written += write_unicode_string(fp, self.child_id) if self.mod_time is not None: written += write_fmt(fp, 'd', self.mod_time) if self.lock_state is not None: written += write_fmt(fp, 'B', self.lock_state) if self.kind == LinkedLayerType.EXTERNAL and self.version == 2: written += write_bytes(fp, self.data) written += write_padding(fp, written, padding) return written