使用此模块可以读取和写入多种分层图像格式
layeredimage的Python项目详细描述
分层图像
使用此模块可以读取和写入多种分层图像格式
- Compatibility 在
- .layered
- Docs
- Example Usage
- Install With PIP
- Language information 在
- Install Python on Windows 在
- Install Python on Linux 在
- How to run 在
- How to update, build and publish
- Download 在
- Community Files 在
兼容性
请记住,下表可能并不完全准确。如果是的话 箱子,请打开一个问题,我来修桌子。在
概述
键
- :粗体复选标记:-支持
- :警告:-所有内容看起来都一样,但数据丢失
- :x:-这不受支持,将导致数据丢失
- N/A-源格式不支持此项,因此请将其视为:重*复选标记:
Format | .ora | .pdn | .xcf | .psd | .tiff/ .tif | .webp | .gif | .lsr |
---|---|---|---|---|---|---|---|---|
Read | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: |
Layers | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: |
Groups | :heavy_check_mark: | N/A | :heavy_check_mark: | :heavy_check_mark: | N/A | N/A | N/A | :heavy_check_mark: |
Write | :heavy_check_mark: | :x: | :x: | :x: | :warning: | :warning: | :warning: | :heavy_check_mark: |
读数
组
^{tb2}$层
Format | .ora | .pdn | .xcf | .psd | .tiff/ .tif | .webp | .gif | .lsr |
---|---|---|---|---|---|---|---|---|
Name | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :warning: | :warning: | :heavy_check_mark: |
Dimensions | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: |
Offsets | :heavy_check_mark: | N/A | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | N/A | N/A | N/A |
Opacity | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | N/A | N/A | N/A | N/A |
Visibility | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | N/A | N/A | N/A | N/A |
Blend Mode | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | N/A | N/A | N/A | N/A |
写作
组
Format | .ora | .pdn | .xcf | .psd | .tiff/ .tif | .webp | .gif | .lsr |
---|---|---|---|---|---|---|---|---|
Name | :heavy_check_mark: | :x: | :x: | :x: | :x: | :x: | :x: | :heavy_check_mark: |
Dimensions | :heavy_check_mark: | :x: | :x: | :x: | :warning: | :warning: | :warning: | :heavy_check_mark: |
Offsets | :heavy_check_mark: | :x: | :x: | :x: | :warning: | :warning: | :warning: | :heavy_check_mark: |
Opacity | :heavy_check_mark: | :x: | :x: | :x: | :warning: | :warning: | :warning: | :warning: |
Visibility | :heavy_check_mark: | :x: | :x: | :x: | :warning: | :warning: | :warning: | :warning: |
Blend Mode | :heavy_check_mark: | :x: | :x: | :x: | :x: | :x: | :x: | :x: |
Layers are extracted from groups and saved to TIFF/ GIF or WEBP
层
Format | .ora | .pdn | .xcf | .psd | .tiff/ .tif | .webp | .gif | .lsr |
---|---|---|---|---|---|---|---|---|
Name | :heavy_check_mark: | :x: | :x: | :x: | :x: | :x: | :x: | :warning: |
Dimensions | :heavy_check_mark: | :x: | :x: | :x: | :warning: | :warning: | :warning: | :warning: |
Offsets | :heavy_check_mark: | :x: | :x: | :x: | :warning: | :warning: | :warning: | :warning: |
Opacity | :heavy_check_mark: | :x: | :x: | :x: | :warning: | :warning: | :warning: | :warning: |
Visibility | :heavy_check_mark: | :x: | :x: | :x: | :warning: | :warning: | :warning: | :warning: |
Blend Mode | :heavy_check_mark: | :x: | :x: | :x: | :x: | :x: | :x: | :x: |
.分层
.layered深受开放光栅格式的启发,旨在提供 在ora中保存时交换格式会导致不可接受的数据 损失。分层设计的目的是,如果格式被弃用 明天就有读者了,这些数据就很容易恢复了。在
有关详细信息,请参阅LAYERED_SPEC。在
文件
更多信息请参见Docs。在
示例用法
下面是一些基本的用法示例。在
"""Example module """frompathlibimportPathTHISDIR=str(Path(__file__).resolve().parent)importlayeredimage.io# Do stuffora=layeredimage.io.openLayerImage(THISDIR+"/image.ora")imageDimensions=ora.dimensions# There are a load of handy functions for getting layers, and adding new# layers, but here we will act directly on the objectlayer=ora.layersAndGroups[0]# For the sake of the e.g. this is a layer# Lets overwrite the layer with a transparent image (bit boring I know...)layer.image=Image.new("RGBA",imageDimensions)ora.layersAndGroups[0]=layer# And let's savelayeredimage.io.saveLayerImage(THISDIR+"/image(modified).ora",ora)# Let's save a flattened version tooora.getFlattenLayers().save(THISDIR+"/image(modified).png")# Doing stuff with a groupgroup=ora.getLayerOrGroup(1)# For the sake of the e.g. this is a groupgroup.layers[0].image.show()# Open the image of the first layer of the group# Deleting a layer/ groupora.removeLayerOrGroup(2)
图像是图片(s) 所以你可以利用枕头的力量 过滤器,以及对图像的其他修改。在
请参阅下面的旧版本的测试。这些提供了一些 文件转换。短期内不会得到100%的保险,但希望如此 这会有点帮助。在
"""Test module """importsysimportosfrompathlibimportPathTHISDIR=str(Path(__file__).resolve().parent)sys.path.insert(0,os.path.dirname(THISDIR))importlayeredimage.io# ORAora=layeredimage.io.openLayerImage(THISDIR+"/base24.ora")layeredimage.io.saveLayerImage(THISDIR+"/base24(ora).ora",ora)layeredimage.io.saveLayerImage(THISDIR+"/base24(ora).tiff",ora)ora.getFlattenLayers().save(THISDIR+"/base24(ora).png")# PSDpsd=layeredimage.io.openLayerImage(THISDIR+"/base24.psd")layeredimage.io.saveLayerImage(THISDIR+"/base24(psd).ora",psd)layeredimage.io.saveLayerImage(THISDIR+"/base24(psd).tiff",psd)psd.getFlattenLayers().save(THISDIR+"/base24(psd).png")# PDNpdn=layeredimage.io.openLayerImage(THISDIR+"/base24.pdn")layeredimage.io.saveLayerImage(THISDIR+"/base24(pdn).ora",pdn)layeredimage.io.saveLayerImage(THISDIR+"/base24(pdn).tiff",pdn)pdn.getFlattenLayers().save(THISDIR+"/base24(pdn).png")# XCFxcf=layeredimage.io.openLayerImage(THISDIR+"/base24.xcf")layeredimage.io.saveLayerImage(THISDIR+"/base24(xcf).ora",xcf)layeredimage.io.saveLayerImage(THISDIR+"/base24(xcf).tiff",xcf)xcf.getFlattenLayers().save(THISDIR+"/base24(xcf).png")# TIFFtiff=layeredimage.io.openLayerImage(THISDIR+"/base24.tiff")layeredimage.io.saveLayerImage(THISDIR+"/base24(tiff).ora",tiff)layeredimage.io.saveLayerImage(THISDIR+"/base24(tiff).tiff",tiff)tiff.getFlattenLayers().save(THISDIR+"/base24(tiff).png")
用PIP安装
pipinstalllayeredimage
前往https://pypi.org/project/layeredimage/获取更多信息
语言信息
专为
这个程序是为python3编写的,并用 Python版本3.8.0https://www.python.org/downloads/release/python-380/。在
在Windows上安装Python
巧克力
chocoinstallpython
下载
要安装Python,请转到https://www.python.org/并下载最新版本 版本。在
在Linux上安装Python
Apt
sudo apt install python3.8
怎么跑
VSCode
- 在vscode中打开.py文件
- 确保选择了Python3.8解释器(Ctrl+Shift+P>;Python:选择 解释器>;Python 3.8)
- 按Ctrl+F5可提示您安装任何模块(按Ctrl+F5进行安装)
从终端
./[file].py
如何更新、构建和发布
- 请确保已安装以下依赖项
Linux系统
wget dephell.org/install | python3.8 wget https://raw.githubusercontent.com/python-poetry/poetry/master/get-poetry.py | python3.8
窗户(wget dephell.org/install-UseBasicParsing).Content|python(wget https://raw.githubusercontent.com/python-poetry/poetry/master/get-poetry.py-UseBasicParsing).Content|python
在 - 在繁重的工作中使用诗歌,并用诗歌来生成需求
poetry update dephell deps convert
在 - 生成/发布
poetry build poetry publish
或poetry publish --build
在
下载
克隆
使用命令行
- 按右上角的“克隆”或“下载”按钮
- 复制URL(链接)
- 打开命令行并将目录更改到您希望的位置 克隆到
- 在步骤2中键入“git clone”,后跟URL
$ git clone https://github.com/FHPythonUtils/LayeredImage
更多信息请访问 https://help.github.com/en/articles/cloning-a-repository
使用GitHub桌面
- 按右上角的“克隆”或“下载”按钮
- 单击桌面中的“打开”
- 选择所需的路径和click克隆
下载Zip文件
- 下载此GitHub存储库
- 解压缩压缩文件
- 复制/移动到所需位置
社区文件
许可证
麻省理工学院执照 版权所有(c)FredHappyface (有关详细信息,请参阅LICENSE。)
变更日志
有关详细信息,请参阅Changelog。在
行为准则
为了营造一个开放和欢迎的环境,我们 作为贡献者和维护者保证参与我们的 项目和我们的社区为每个人提供无骚扰体验。 请看 Code of Conduct获取更多信息。在
贡献
欢迎投稿,详情请参阅Contributing Guidelines。在
安全
感谢您改进了项目的安全性,有关详细信息,请参阅Security Policy。在
- 项目
标签: