Найти - Пользователи
Полная версия: вывод графики. альфа с антиализингом. series 60
Начало » Mobile Python » вывод графики. альфа с антиализингом. series 60
1 2
Inc-Vizitor
Кто знает, как сие реальизовать на питоне под symbian 9.1?

Стандартный модуль graphics имеет функцию blit() которой можно при желании рисовать картинки с прозрачным фоном, но беда в том, что она не поддерживает антиализинг и в маске для прозрачности четко указываются - прозрачный цвет и не прозрачный =(
regall
Inc-Vizitor
антиализинг
Думаю имеется в виду сглаживание (англ.- “antialiasing”):
http://gnugos60.blogspot.com/2007/11/anti-aliasing-in-symbian.html
KaBaSya
Корочь я так понял, тип хочет полупрозрачности картинки(чтоб просвечивалась)

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)
И все будет прозрачьна.

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

круг blit(ом) не нарисуешь.
А если зум надо качественный то
Image.resize(new_size)
Долго, но картинка будет слажена.
arok
насколько мне известно питон не поддерживает альфа канал, прозрачности можно добится лишь с использованием масок к изображениям.
KaBaSya
Ну прально!
igor.kaist
regall
Имеется в виду сглаживание. Например, когда рисуеш круг, чтоб при зуме он не превратился в шестиугольник.
Нет, при увеличении сглаживания к сожалению нет :( только при уменьшении антиалиасинг применяется (если делать методом resize)
KaBaSya
Возможено ты не ошибаешься, но специально проверил. Нарисовал точку и увеличил.
img=new(10, 10)
img.point((3, 3), width=3)
canvas.blit(img) маленькая точка
canvas.blit(img.resize((50,50)) ) большая точька кое как слажена(так же как в галерее при зуме). Если б не сглаживало, то увелич. Моментално, а так долго тогда что оно делает.
igor.kaist
KaBaSya, ничего не понял из вашего поста. Ваш родной язык точно русский?
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB