12 votos

¿Cómo establecer la transparencia para múltiples capas o añadir una preferencia de transparencia global?

¿Cómo puedo establecer la transparencia al 27% para todas las 245 capas en QGIS? La única forma que conozco es haciendo clic con el botón derecho del ratón en el nombre de la capa, seleccionando Propiedades, luego Transparencia y luego moviendo el control deslizante de transparencia hacia la izquierda o hacia la derecha.

a

Esto es muy sencillo. Pero esto sólo es bueno para hasta 10 capas tal vez. ¿Qué pasa si tienes 245 capas como yo? ¿Sigue repitiendo el proceso? Seguramente, debe haber una manera de aplicar esto a todas las 245 capas a la vez.

b

Alternativamente, ¿hay algún ajuste de preferencia de transparencia global que pueda añadir para que cuando añada nuevas capas tengan automáticamente un 27% de transparencia?

El QGIS en línea documentación menciona algo sobre la exportación de su configuración de transparencia a un archivo para un uso posterior.

Como puede ver, es bastante fácil establecer una transparencia personalizada, pero puede ser bastante trabajo. Por lo tanto, puede utilizar el botón Exportar a para guardar su lista de transparencias en un archivo. El botón Importar desde archivo carga sus ajustes de transparencia y los aplica a la capa actual a la capa actual.

Parece una función útil. Pero no creo que sea lo que estoy buscando.

Intenté seleccionar varias capas en la tabla de contenidos y luego hacer clic con el botón derecho y seleccionar Propiedades y establecer el nivel de transparencia, aplicar los cambios y hacer clic en Aceptar. Aplicó los cambios, pero sólo a la última capa en la selección, la que hice clic derecho. Ninguna de las otras capas de la selección se vio afectada. (En realidad, esto podría ser un error).

11voto

John Feminella Puntos 123

Un pequeño python script como este lo haría

for layer in iface.legendInterface().layers():
   layer.renderer().setOpacity(0.2)

Sólo tienes que copiar y pegar eso en la consola de python (que se muestra a través de Plugins->Consola de python) y pulsar enter dos veces. El script hará un bucle a través de todas las capas y establecerá su opacidad al 20%.

Para QGIS 3.x se necesita un script ligeramente diferente porque la API ha cambiado significativamente:

layers = qgis.core.QgsProject.instance().layerTreeRoot().layerOrder()
for layer in layers:
    layer.setOpacity(0.2)
# Redraw the layers so you can see the effect
iface.mapCanvas().refreshAllLayers()

1 votos

¿Es posible hacer lo mismo cuando se tienen también capas vectoriales? ¿Como hacerlo sólo para las capas seleccionadas, o para las capas dentro de un mismo grupo?

0 votos

esto no parece funcionar más en 2.8.2, veo un rendererV2 en los docs en lugar de renderer, pero no tiene el método setOpacity :(

0 votos

veo esta entrada que sugeriría que los grupos de capas podrían hacer esto, pero tampoco veo cómo - trac.osgeo.org/qgis/ticket/557

6voto

Chris Puntos 128

Otra opción, que no requiere python, es simplemente editar el archivo del proyecto.

La transparencia de la capa de rasterización se establece con rasterrenderer opacity="1"

Puede abrir su archivo de proyecto .qgs en un editor de texto y buscar y reemplazar: rasterrenderer opacity="1" con: rasterrenderer opacity="0.73"

5voto

ROBINSON Puntos 916

La forma más fácil de hacerlo es utilizando estilos de capa. Basta con establecer la transparencia de una sola capa al 27% y copiar/pegar el estilo a todas las demás capas. Puedes pegar un estilo en varias capas a la vez.

Véase también:

http://hub.qgis.org/issues/14931

1 votos

No porque eso copiará todo lo demás, incluyendo la simbología/colores/extensiones de vista.

0 votos

Respuesta infravalorada Funciona perfectamente cuando sólo trabajamos con transparencia

2voto

Gavin Puntos 158

Puede utilizar este QGIS Processing script para establecer la transparencia de un grupo específico: https://github.com/jkall/qgis-processing-scripts/blob/master/set_transparency_for_group.py

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X