使用此模块可以读取和写入多种分层图像格式

layeredimage的Python项目详细描述


GitHub top languageCodacy gradeRepository sizeIssuesLicenseCommit activityLast commitPyPI DownloadsPyPI Version

分层图像

Project Icon

使用此模块可以读取和写入多种分层图像格式

兼容性

请记住,下表可能并不完全准确。如果是的话 箱子,请打开一个问题,我来修桌子。在

概述

  • :粗体复选标记:-支持
  • :警告:-所有内容看起来都一样,但数据丢失
  • :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/AN/AN/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/AN/AN/A
Opacity:heavy_check_mark::heavy_check_mark::heavy_check_mark::heavy_check_mark:N/AN/AN/AN/A
Visibility:heavy_check_mark::heavy_check_mark::heavy_check_mark::heavy_check_mark:N/AN/AN/AN/A
Blend Mode:heavy_check_mark::heavy_check_mark::heavy_check_mark::heavy_check_mark:N/AN/AN/AN/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:
^{pr2}$

.分层

.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

  1. 在vscode中打开.py文件
  2. 确保选择了Python3.8解释器(Ctrl+Shift+P>;Python:选择 解释器>;Python 3.8)
  3. 按Ctrl+F5可提示您安装任何模块(按Ctrl+F5进行安装)

从终端

./[file].py

如何更新、构建和发布

  1. 请确保已安装以下依赖项 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
  2. 在繁重的工作中使用诗歌,并用诗歌来生成需求
    poetry update
    dephell deps convert
    
  3. 生成/发布
    poetry build
    poetry publish
    
    poetry publish --build
    

下载

克隆

使用命令行

  1. 按右上角的“克隆”或“下载”按钮
  2. 复制URL(链接)
  3. 打开命令行并将目录更改到您希望的位置 克隆到
  4. 在步骤2中键入“git clone”,后跟URL
$ git clone https://github.com/FHPythonUtils/LayeredImage

更多信息请访问 https://help.github.com/en/articles/cloning-a-repository

使用GitHub桌面

  1. 按右上角的“克隆”或“下载”按钮
  2. 单击桌面中的“打开”
  3. 选择所需的路径和click克隆

更多信息请访问 https://help.github.com/en/desktop/contributing-to-projects/cloning-a-repository-from-github-to-github-desktop

下载Zip文件

  1. 下载此GitHub存储库
  2. 解压缩压缩文件
  3. 复制/移动到所需位置

社区文件

许可证

麻省理工学院执照 版权所有(c)FredHappyface (有关详细信息,请参阅LICENSE。)

变更日志

有关详细信息,请参阅Changelog。在

行为准则

为了营造一个开放和欢迎的环境,我们 作为贡献者和维护者保证参与我们的 项目和我们的社区为每个人提供无骚扰体验。 请看 Code of Conduct获取更多信息。在

贡献

欢迎投稿,详情请参阅Contributing Guidelines。在

安全

感谢您改进了项目的安全性,有关详细信息,请参阅Security Policy。在

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java JNI和取消异步任务   java整数n作为List<String>的第二个参数传递。子列表(fromIndex,toIndex),但是stacktrace说toIndex在Kotlin中是n+2   如何在Java中正确嵌套多个ArrayList/Maps?   在嵌套条件语句中比较数组中的值时,java List没有打印正确的值   从CRON作业运行java代码   JRE使用jvisualvm检测到java致命错误   java将字符添加到BufferedReader中   带有枚举的java单例与带有双重检查锁定的单例   Java中的编译器构造基类的更改会影响子类的字节码吗?   Java作为Windows服务用户数据路径   java clone():ArrayList。克隆人()我认为它是一个肤浅的复制品   在jfilechooser多文件选择器启用中打开对话框后,java文件将显示所选文件   java在常用的操作方法中使用反射可以吗?   java ReloadableResourceBundleMessageSource。getMessage()不使用我给它的参数