Прозрачность слоя с рендерером V2

Вопросы по свободной ГИС QGIS. Сообщения об ошибках, предложения по улучшению, локализация.
Ответить
GIS-dev
Участник
Сообщения: 54
Зарегистрирован: 27 авг 2009, 11:01
Репутация: 1

Прозрачность слоя с рендерером V2

Сообщение GIS-dev » 15 мар 2011, 11:08

Пробую задать прозрачность для векторного слоя функцией setTransparency(nn); Когда слой был со "старым" рендерером, его можно было сделать хоть невидимым... Но когда ему ставлю рендерер "QgsCategorizedSymbolRendererV2", регулировка прозрачности полностью перестает работать, слой непрозрачный независимо от параметра setTransparency.

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


MemLayer->setRendererV2(Renderer);
MemLayer->setUsingRendererV2(TRUE);
MemLayer->setTransparency(127);

Может быть управление прозрачностью не предусмотрено для рендерера QgsCategorizedSymbolRendererV2, предполагая, что сами рисунки SVG могут быть нарисованы в векторном редакторе полупрозрачными? Также, символы V2 имеют поле "mAlpha", изменения которого функцией setAlpha от нуля до единицы тоже не дает видимых результатов. :?

Voltron
Гуру
Сообщения: 2627
Зарегистрирован: 29 мар 2007, 14:12
Репутация: 34
Откуда: Ukraine

Re: Прозрачность слоя с рендерером V2

Сообщение Voltron » 19 мар 2011, 11:26

GIS-dev писал(а):Пробую задать прозрачность для векторного слоя функцией setTransparency(nn); Когда слой был со "старым" рендерером, его можно было сделать хоть невидимым... Но когда ему ставлю рендерер "QgsCategorizedSymbolRendererV2", регулировка прозрачности полностью перестает работать, слой непрозрачный независимо от параметра setTransparency.
Потому, что прозрачность в этом случае задается для символов, а не для слоя. Посмотрите, в QGIS при использовании отрисовки градуированным знаком нет возможность задать прозрачность слоя.

GIS-dev
Участник
Сообщения: 54
Зарегистрирован: 27 авг 2009, 11:01
Репутация: 1

Re: Прозрачность слоя с рендерером V2

Сообщение GIS-dev » 20 мар 2011, 15:54

Voltron писал(а):Потому, что прозрачность в этом случае задается для символов, а не для слоя. Посмотрите, в QGIS при использовании отрисовки градуированным знаком нет возможность задать прозрачность слоя.
Прозрачность символа задается функцией "setAlpha()"? Почему-то она у меня не влияет на прозрачность символа класса QgsMarkerSymbolV2, какие бы я параметры ей не задавал, хоть ноль, хоть единицу или 255. Может для активации прозрачности символов слоя V2 нужно какое-то дополнительное условие? Или маркеры класса QgsMarkerSymbolV2 не могут иметь прозрачность?..

GIS-dev
Участник
Сообщения: 54
Зарегистрирован: 27 авг 2009, 11:01
Репутация: 1

Re: Прозрачность слоя с рендерером V2

Сообщение GIS-dev » 05 апр 2011, 12:58

И всё-таки возвращаясь к прозрачности... Похоже это баг QGIS - в новой символике прозрачность SVG-символов не регулируется не только в моей программе, но и в самой QGIS.

Ответить

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

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 3 гостя