coatools_exporter.py 文件源码

python
阅读 23 收藏 0 点赞 0 评论 0

项目:coa_tools 作者: ndee85 项目源码 文件源码
def export(self):
        ''' Export visible layers and layer groups to CoaSprite '''
        if os.path.isfile(os.path.join(self.path, self.name)):
            show_error_msg('ABORTING!\nDestination is not a folder.\n {path}/{name}'.format(path=self.path, name=self.name))
            return
        if not os.access(self.path, os.W_OK):
            show_error_msg('ABORTING!\nDestination is not a writable.\n {path}'.format(path=self.path))
            return
        if os.path.isdir(os.path.join(self.path, self.name)):
            show_error_msg('Destination exists, I may have overwritten something in {path}/{name}'.format(path=self.path, name=self.name))
        self.mkdir()
        # Loop through visible layers
        self.img = self.original_img.duplicate()
        self.img.undo_group_start()
        for layer in self.img.layers:
            if layer.visible:
                name = '{name}.png'.format(name=layer.name)
                pdb.gimp_image_set_active_layer(self.img, layer)
                # Crop and the layer position
                pdb.plug_in_autocrop_layer(self.img, layer)
                z = 0 - pdb.gimp_image_get_item_position(self.img, layer)
                if isinstance(layer, gimp.GroupLayer):
                    if len(layer.children) > 0:
                        self.sprites.append(self.export_sprite_sheet(layer, name, layer.offsets, z))
                else:
                    self.sprites.append(self.export_sprite(layer, name, layer.offsets, z))
        self.write_json()
        self.img.undo_group_end()
        pdb.gimp_image_delete(self.img)
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号