Phatch 无法加载(Kubuntu 17.04)

Phatch 无法加载(Kubuntu 17.04)

希望有人可以帮忙。

我的笔记本电脑上安装了 MintKDE,但我记得 Phatch 无法加载 - 我只看到了徽标,但程序本身从未启动。我应用了此处详述的更改 -https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=811184#12- 然后它就起作用了。

我最近将操作系统改为 Kubuntu,现在 Phatch 无法加载 - 症状相同 - 我得到了 Phatch 徽标,但它实际上从未启动过。我已将其删除并重新安装,并尝试了详细说明的更改,但它仍然无法加载。

我想知道是否有人可以帮忙? Phatch 工作时为我节省了很多时间!

谢谢。


Kubuntu 17.04 Plasma 5.9.4 KDE Framweworks 5.31.0 内核 4.10.0-22 通用操作系统类型 64 位

答案1

我也遇到了同样的问题此修复幫助:

在文件中,/usr/share/phatch/phatch/lib/pyWx/wxPil.py我将单词fromstringtostring改为frombytestobytes

现在 Phatch 似乎可以与Sid 中的最新库一起使用python-imagingpython-pil

以下是我的新/usr/share/phatch/phatch/lib/pyWx/wxPil.py

# Copyright (C) 2007-2009 www.stani.be
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program.  If not, see http://www.gnu.org/licenses/

# Follows PEP8

import Image
import wx


def pil_wxImage(image):
    if image.mode == 'P':
        image = image.convert('RGBA')
    if image.mode == 'RGBA':
        wx_image = wx.EmptyImage(*image.size)
        wx_image.SetData(image.convert("RGB").tobytes())
        wx_image.InitAlpha()
        wx_image.SetAlphaData(
            image.convert("RGBA").split()[-1].tobytes())
    else:
        wx_image = wx.EmptyImage(*image.size)
        new_image = image.convert('RGB')
        data = new_image.tobytes()
        wx_image.SetData(data)
    return wx_image


def pil_wxBitmap(image):
    return wx.BitmapFromImage(pil_wxImage(image))


def wxImage_pil(wx_image):
    size = wx_image.GetSize()
    image = Image.new('RGB', size)
    image.frombytes(wx_image.GetData())
    if wx_image.HasAlpha():
        alpha = Image.new('L', size)
        wx_alpha = wx_image.GetAlphaData()
        alpha.frombytes(wx_alpha)
        image = image.convert('RGBA')
        image.putalpha(alpha)
    return image


def wxBitmap_pil(wx_bitmap):
    return wxImage_pil(wx.ImageFromBitmap(wx_bitmap))

相关内容