Phatch не загрузится (Kubuntu 17.04)

надо надеяться, кто-то может помочь.

Мне установили MintKDE на моем ноутбуке, и поскольку я вспоминаю, что Phatch не загрузился бы - вместо этого я просто получил логотип, но сама программа никогда не запускалась. Я применил изменения, детализированные здесь - https://bugs.debian.org/cgi-bin/bugreport.cgi? bug=811184#12 - и это затем работало.

Я недавно изменил ОС на Kubuntu, и Phatch теперь не загружается - признаки являются тем же - я получаю логотип Phatch, но это никогда на самом деле запускается. Я удалил его и переустановил его и попробовал изменения, как детализировано, но это все еще не загрузится.

Интересно, мог ли кто-либо помочь? Phatch сохраняет меня много времени, когда он работает!

Спасибо.


Плазма Kubuntu 17.04 5.9.4 KDE Framweworks 5.31.0 Ядра 4.10.0-22generic Тип ОС 64 бита

0
задан 19 June 2017 в 07:04

1 ответ

У меня была та же проблема, и это исправление помогло:

В файле /usr/share/phatch/phatch/lib/pyWx/wxPil.py я изменил слова fromstring и tostring на frombytes и tobytes.

Теперь, похоже, Phatch работает с последними библиотеками python-imaging и python-pil в Sid.

Ниже мои новые /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))
0
ответ дан 3 November 2019 в 01:46

Другие вопросы по тегам:

Похожие вопросы: