Уведомления

Группа в Telegram: присоединиться | Jabber-конференция сообщества: pythonua@conference.jabber.ru

#1 Май 16, 2007 15:08:37

Inc-Vizitor
От:
Зарегистрирован: 2007-03-15
Сообщения: 7
Репутация: +  0  -
Профиль   Отправить e-mail  

вывод графики. альфа с антиализингом. series 60

Кто знает, как сие реальизовать на питоне под symbian 9.1?

Стандартный модуль graphics имеет функцию blit() которой можно при желании рисовать картинки с прозрачным фоном, но беда в том, что она не поддерживает антиализинг и в маске для прозрачности четко указываются - прозрачный цвет и не прозрачный =(



Отредактировано (Май 16, 2007 15:11:16)

Офлайн

#2 Дек. 17, 2009 02:10:00

regall
От: Киев
Зарегистрирован: 2008-07-17
Сообщения: 1583
Репутация: +  3  -
Профиль   Отправить e-mail  

вывод графики. альфа с антиализингом. series 60

Inc-Vizitor
антиализинг
Думаю имеется в виду сглаживание (англ.- “antialiasing”):
http://gnugos60.blogspot.com/2007/11/anti-aliasing-in-symbian.html



Офлайн

#3 Дек. 17, 2009 03:06:36

KaBaSya
От:
Зарегистрирован: 2009-12-17
Сообщения: 56
Репутация: +  0  -
Профиль   Отправить e-mail  

вывод графики. альфа с антиализингом. series 60

Корочь я так понял, тип хочет полупрозрачности картинки(чтоб просвечивалась)

import graphics
image = graphics.Image.open('image.png')
mask = graphics.Image.new(image.size, mode='L')
mask.load('mask.png')
Маска содержит 256 градаций серого, чем темнее серая точька в маске, тем прозрачьней точька картинки (ну и сказанул).
Теперb
#canvas.blit(image, mask=mask)
И все будет прозрачьна.

Если я не так понял эт вопрос, то уж простите меня.



Отредактировано (Дек. 17, 2009 11:11:34)

Офлайн

#4 Дек. 17, 2009 11:13:47

regall
От: Киев
Зарегистрирован: 2008-07-17
Сообщения: 1583
Репутация: +  3  -
Профиль   Отправить e-mail  

вывод графики. альфа с антиализингом. series 60

KaBaSya
Корочь я так понял, тип хочет полупрозрачности картинки(чтоб просвечивалась)
Нет, прозрачность поддерживается самим методом blit().
Имеется в виду сглаживание. Например, когда рисуеш круг, чтоб при зуме он не превратился в шестиугольник.



Офлайн

#5 Дек. 17, 2009 11:30:05

KaBaSya
От:
Зарегистрирован: 2009-12-17
Сообщения: 56
Репутация: +  0  -
Профиль   Отправить e-mail  

вывод графики. альфа с антиализингом. series 60

А хай сам зайдет и обьяснит, что ему нада.

круг blit(ом) не нарисуешь.
А если зум надо качественный то
Image.resize(new_size)
Долго, но картинка будет слажена.



Офлайн

#6 Дек. 18, 2009 13:48:46

arok
От:
Зарегистрирован: 2008-01-15
Сообщения: 145
Репутация: +  0  -
Профиль   Отправить e-mail  

вывод графики. альфа с антиализингом. series 60

насколько мне известно питон не поддерживает альфа канал, прозрачности можно добится лишь с использованием масок к изображениям.



Офлайн

#7 Дек. 18, 2009 13:57:37

KaBaSya
От:
Зарегистрирован: 2009-12-17
Сообщения: 56
Репутация: +  0  -
Профиль   Отправить e-mail  

вывод графики. альфа с антиализингом. series 60

Ну прально!



Офлайн

#8 Дек. 19, 2009 12:35:45

igor.kaist
От:
Зарегистрирован: 2007-11-12
Сообщения: 1879
Репутация: +  3  -
Профиль   Отправить e-mail  

вывод графики. альфа с антиализингом. series 60

regall
Имеется в виду сглаживание. Например, когда рисуеш круг, чтоб при зуме он не превратился в шестиугольник.
Нет, при увеличении сглаживания к сожалению нет :( только при уменьшении антиалиасинг применяется (если делать методом resize)



Офлайн

#9 Дек. 19, 2009 16:00:25

KaBaSya
От:
Зарегистрирован: 2009-12-17
Сообщения: 56
Репутация: +  0  -
Профиль   Отправить e-mail  

вывод графики. альфа с антиализингом. series 60

Возможено ты не ошибаешься, но специально проверил. Нарисовал точку и увеличил.
img=new(10, 10)
img.point((3, 3), width=3)
canvas.blit(img) маленькая точка
canvas.blit(img.resize((50,50)) ) большая точька кое как слажена(так же как в галерее при зуме). Если б не сглаживало, то увелич. Моментално, а так долго тогда что оно делает.



Офлайн

#10 Дек. 21, 2009 11:00:01

igor.kaist
От:
Зарегистрирован: 2007-11-12
Сообщения: 1879
Репутация: +  3  -
Профиль   Отправить e-mail  

вывод графики. альфа с антиализингом. series 60

KaBaSya, ничего не понял из вашего поста. Ваш родной язык точно русский?



Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version