Skip to main content

Python module to read/edit 3DST textures.

Project description

py3dst is a module that allows to read, edit and convert 3DST textures

Installation

pip install py3dst

Supported formats:

  • RGBA8
  • RGB8
  • RGBA5551
  • RGB565
  • RGBA4
  • LA8
  • LA4

How to use

Open a texture

The open() function decodes and loads the texture at the provided path

from py3dst import Texture3dst

texture = Texture3dst().open("path/to/file")

Create a texture

The new() function allows to create a blank new texture

from py3dst import Texture3dst

texture = Texture3dst().new(128, 128)

new() takes 2 arguments: width, height

Optionally you can specify the 'mip_level' and 'format'

Export a texture

The export() function converts the data and writes the output data to the specified location

texture.export("path/to/file")

Convert to PIL Image

The copy() function will create an output of PIL Image type that you can then export to other image format

image = texture.copy(0, 0, texture.size[0], texture.size[1])

copy() takes 4 arguments: x1, y1, x2, y2

Being the coordinates that indicate the area to copy

Convert from PIL Image

The paste() function will take the PIL Image object and will paste all of its content into the texture if theres enough space in the destination texture. Example:

from py3dst import Texture3dst
from PIL import Image

image = Image.open("path/to/image/")
texture = Texture3dst().new(image.size[0], image.size[1])
texture.paste(image, 0, 0)

paste() takes 3 arguments: image, x, y

x and y being the coordinates where the image will be pasted

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

py3dst-1.0.1.tar.gz (45.2 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

py3dst-1.0.1-py3-none-any.whl (33.2 kB view details)

Uploaded Python 3

File details

Details for the file py3dst-1.0.1.tar.gz.

File metadata

  • Download URL: py3dst-1.0.1.tar.gz
  • Upload date:
  • Size: 45.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.12.3

File hashes

Hashes for py3dst-1.0.1.tar.gz
Algorithm Hash digest
SHA256 ddd46f6ecdc7a54014315ac10225dc2942031bc07e47d8e203a34086371b4589
MD5 4794ffb79f35cf1fb5dcaa44490425e2
BLAKE2b-256 da6329d594daa79b100f702b2dbba00b63eb955b117da45f7d9ad5bd288e6215

See more details on using hashes here.

File details

Details for the file py3dst-1.0.1-py3-none-any.whl.

File metadata

  • Download URL: py3dst-1.0.1-py3-none-any.whl
  • Upload date:
  • Size: 33.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.12.3

File hashes

Hashes for py3dst-1.0.1-py3-none-any.whl
Algorithm Hash digest
SHA256 bc1d18f0dac7e9660503ab17e0dc48cc7a19f2a03b39526d683cfca2eb79f196
MD5 fe2a2751861155983271068de08f4af7
BLAKE2b-256 e31808c01c7e7a9d99c5ae52141f8f8590874cae600293805660fadfcc38f16a

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page