Как я бы отобрал изображение с помощью Python-xlib?Python

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Как я бы отобрал изображение с помощью Python-xlib?

Сообщение Anonymous »

Я пытаюсь создать оконный менеджер в Python 3, и мне нужно узнать, как отображать значки окна 16x16. Это не так. Я не могу найти никакой документации по какой-либо из этого, любая помощь будет оценена.

Код: Выделить всё

from Xlib import display, X, Xutil
from PIL import Image, ImageDraw
import os

def renderPng(image_path, width, height, x=50, y=50):
img = Image.open(image_path)
if img.mode != 'RGB':
img = img.convert('RGB')
image_data = img.tobytes("raw", "RGB")
disp = display.Display()
screen = disp.screen()
root = screen.root
visual = screen.root_visual
depth = screen.root_depth
win = root.create_window(
x, y,
width, height,
1,
depth,
X.InputOutput,
visual,
background_pixel=screen.white_pixel,
event_mask=X.ExposureMask | X.KeyPressMask | X.StructureNotifyMask
)
win.set_wm_name("PNG image")
win.map()
gc = win.create_gc(
foreground=screen.black_pixel,
background=screen.white_pixel
)
ximage = X.Image(
data=image_data,
width=16,
height=16,
depth=depth,
bitmap_unit=8,
bitmap_pad=32,
byte_order=X.LSBFirst,
bitmap_bit_order=X.LSBFirst,
format=X.ZPixmap,
bytes_per_line=16 * 3
)
while True:
event = disp.next_event()
if event.type == X.Expose:
if event.count == 0:
win.put_image(gc, ximage, 0, 0, 0, 0, 16, 16)
disp.flush()
elif event.type == X.KeyPress:
break
elif event.type == X.ConfigureNotify:
pass
win.destroy()
disp.close()

if __name__ == '__main__':
dummy = "dummy.png"
if not os.path.exists(dummy):
img = Image.new('RGB', (16, 16), color = 'red')
d = ImageDraw.Draw(img)
d.text((1,1), "abc", fill=(255,255,255))
img.save(dummy)
renderPng(dummy, 200, 200, 100, 100)
< /code>
и код дает мне эту ошибку: < /p>
Traceback (most recent call last):
File "/home/spincube/x/test.py", line 63, in 
renderPng(dummy, 200, 200, 100, 100)
~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/spincube/x/test.py", line 31, in renderPng
ximage = X.Image(
^^^^^^^
AttributeError: module 'Xlib.X' has no attribute 'Image'
Обновление: я изменил default_visual на root_visual.

Подробнее здесь: https://stackoverflow.com/questions/796 ... ython-xlib
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • В чем разница между python-xlib, python3-xlib, pyxlib и xlib в Python3?
    Anonymous » » в форуме Python
    0 Ответы
    82 Просмотры
    Последнее сообщение Anonymous
  • Как я бы отобрал изображение с помощью Python-xlib?
    Anonymous » » в форуме Python
    0 Ответы
    5 Просмотры
    Последнее сообщение Anonymous
  • Как получить значок окна в виде PNG с помощью Python xlib?
    Anonymous » » в форуме Python
    0 Ответы
    3 Просмотры
    Последнее сообщение Anonymous
  • Как получить значок окна в виде PNG с помощью Python xlib?
    Anonymous » » в форуме Python
    0 Ответы
    8 Просмотры
    Последнее сообщение Anonymous
  • Как сгенерировать геометрическую строку X11 с помощью Xlib?
    Anonymous » » в форуме Linux
    0 Ответы
    45 Просмотры
    Последнее сообщение Anonymous

Вернуться в «Python»