Форум сайта python.su
Кто знает, как сие реальизовать на питоне под symbian 9.1?
Стандартный модуль graphics имеет функцию blit() которой можно при желании рисовать картинки с прозрачным фоном, но беда в том, что она не поддерживает антиализинг и в маске для прозрачности четко указываются - прозрачный цвет и не прозрачный =(
Отредактировано (Май 16, 2007 15:11:16)
Офлайн
Inc-VizitorДумаю имеется в виду сглаживание (англ.- “antialiasing”):
антиализинг
Офлайн
Корочь я так понял, тип хочет полупрозрачности картинки(чтоб просвечивалась)
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)
Офлайн
KaBaSyaНет, прозрачность поддерживается самим методом blit().
Корочь я так понял, тип хочет полупрозрачности картинки(чтоб просвечивалась)
Офлайн
А хай сам зайдет и обьяснит, что ему нада.
круг blit(ом) не нарисуешь.
А если зум надо качественный то
Image.resize(new_size)
Долго, но картинка будет слажена.
Офлайн
насколько мне известно питон не поддерживает альфа канал, прозрачности можно добится лишь с использованием масок к изображениям.
Офлайн
Ну прально!
Офлайн
regallНет, при увеличении сглаживания к сожалению нет :( только при уменьшении антиалиасинг применяется (если делать методом resize)
Имеется в виду сглаживание. Например, когда рисуеш круг, чтоб при зуме он не превратился в шестиугольник.
Офлайн
Возможено ты не ошибаешься, но специально проверил. Нарисовал точку и увеличил.
img=new(10, 10)
img.point((3, 3), width=3)
canvas.blit(img) маленькая точка
canvas.blit(img.resize((50,50)) ) большая точька кое как слажена(так же как в галерее при зуме). Если б не сглаживало, то увелич. Моментално, а так долго тогда что оно делает.
Офлайн
KaBaSya, ничего не понял из вашего поста. Ваш родной язык точно русский?
Офлайн