Administrar fondos de presentación en JavaScript
Visión general
Los colores sólidos, los degradados y las imágenes se utilizan comúnmente como fondos de diapositiva. Puede establecer el fondo para una diapositiva normal (una sola diapositiva) o una diapositiva maestra (se aplica a varias diapositivas a la vez).

Establecer un fondo de color sólido para una diapositiva normal
Aspose.Slides le permite establecer un color sólido como fondo para una diapositiva específica en una presentación, incluso si la presentación utiliza una diapositiva maestra. El cambio se aplica solo a la diapositiva seleccionada.
- Cree una instancia de la clase Presentation.
- Establezca el BackgroundType de la diapositiva a
OwnBackground. - Establezca el FillType del fondo de la diapositiva a
Solid. - Utilice el método getSolidFillColor en FillFormat para especificar el color sólido de fondo.
- Guarde la presentación modificada.
El siguiente ejemplo en JavaScript muestra cómo establecer un color sólido azul como fondo para una diapositiva normal:
// Crear una instancia de la clase Presentation.
let presentation = new aspose.slides.Presentation();
try {
let slide = presentation.getSlides().get_Item(0);
// Establecer el color de fondo de la diapositiva a azul.
slide.getBackground().setType(java.newByte(aspose.slides.BackgroundType.OwnBackground));
slide.getBackground().getFillFormat().setFillType(java.newByte(aspose.slides.FillType.Solid));
slide.getBackground().getFillFormat().getSolidFillColor().setColor(java.getStaticFieldValue("java.awt.Color", "BLUE"));
// Guardar la presentación en disco.
presentation.save("SolidColorBackground.pptx", aspose.slides.SaveFormat.Pptx);
} finally {
presentation.dispose();
}
Establecer un fondo de color sólido para la diapositiva maestra
Aspose.Slides le permite establecer un color sólido como fondo para la diapositiva maestra en una presentación. La diapositiva maestra actúa como una plantilla que controla el formato de todas las diapositivas, por lo que al elegir un color sólido para el fondo de la diapositiva maestra, se aplica a cada diapositiva.
- Cree una instancia de la clase Presentation.
- Establezca el BackgroundType de la diapositiva maestra (a través de
getMasters) aOwnBackground. - Establezca el FillType del fondo de la diapositiva maestra a
Solid. - Utilice el método getSolidFillColor para especificar el color sólido de fondo.
- Guarde la presentación modificada.
El siguiente ejemplo en JavaScript muestra cómo establecer un color sólido (verde) como fondo para una diapositiva maestra:
// Crear una instancia de la clase Presentation.
let presentation = new aspose.slides.Presentation();
try {
let masterSlide = presentation.getMasters().get_Item(0);
// Establecer el color de fondo de la diapositiva maestra a Verde Bosque.
masterSlide.getBackground().setType(java.newByte(aspose.slides.BackgroundType.OwnBackground));
masterSlide.getBackground().getFillFormat().setFillType(java.newByte(aspose.slides.FillType.Solid));
masterSlide.getBackground().getFillFormat().getSolidFillColor().setColor(java.getStaticFieldValue("java.awt.Color", "GREEN"));
// Guardar la presentación en disco.
presentation.save("MasterSlideBackground.pptx", aspose.slides.SaveFormat.Pptx);
} finally {
presentation.dispose();
}
Establecer un fondo degradado para una diapositiva
Un degradado es un efecto gráfico creado por un cambio gradual de color. Cuando se usa como fondo de diapositiva, los degradados pueden hacer que las presentaciones parezcan más artísticas y profesionales. Aspose.Slides le permite establecer un color degradado como fondo para las diapositivas.
- Cree una instancia de la clase Presentation.
- Establezca el BackgroundType de la diapositiva a
OwnBackground. - Establezca el FillType del fondo de la diapositiva a
Gradient. - Utilice el método getGradientFormat en FillFormat para configurar sus ajustes de degradado preferidos.
- Guarde la presentación modificada.
El siguiente ejemplo en JavaScript muestra cómo establecer un color degradado como fondo para una diapositiva:
// Crear una instancia de la clase Presentation.
let presentation = new aspose.slides.Presentation();
try {
let slide = presentation.getSlides().get_Item(0);
// Aplicar un efecto de degradado al fondo.
slide.getBackground().setType(java.newByte(aspose.slides.BackgroundType.OwnBackground));
slide.getBackground().getFillFormat().setFillType(java.newByte(aspose.slides.FillType.Gradient));
slide.getBackground().getFillFormat().getGradientFormat().setTileFlip(aspose.slides.TileFlip.FlipBoth);
// Guardar la presentación en disco.
presentation.save("GradientBackground.pptx", aspose.slides.SaveFormat.Pptx);
} finally {
presentation.dispose();
}
Establecer una imagen como fondo de diapositiva
Además de los rellenos sólidos y degradados, Aspose.Slides le permite usar imágenes como fondos de diapositiva.
- Cree una instancia de la clase Presentation.
- Establezca el BackgroundType de la diapositiva a
OwnBackground. - Establezca el FillType del fondo de la diapositiva a
Picture. - Cargue la imagen que desea usar como fondo de la diapositiva.
- Añada la imagen a la colección de imágenes de la presentación.
- Utilice el método getPictureFillFormat en FillFormat para asignar la imagen como fondo.
- Guarde la presentación modificada.
El siguiente ejemplo en JavaScript muestra cómo establecer una imagen como fondo para una diapositiva:
// Crear una instancia de la clase Presentation.
let presentation = new aspose.slides.Presentation();
try {
let slide = presentation.getSlides().get_Item(0);
// Establecer propiedades de la imagen de fondo.
slide.getBackground().setType(java.newByte(aspose.slides.BackgroundType.OwnBackground));
slide.getBackground().getFillFormat().setFillType(java.newByte(aspose.slides.FillType.Picture));
slide.getBackground().getFillFormat().getPictureFillFormat().setPictureFillMode(aspose.slides.PictureFillMode.Stretch);
// Cargar la imagen.
let image = aspose.slides.Images.fromFile("Tulips.jpg");
// Añadir la imagen a la colección de imágenes de la presentación.
let ppImage = presentation.getImages().addImage(image);
image.dispose();
slide.getBackground().getFillFormat().getPictureFillFormat().getPicture().setImage(ppImage);
// Guardar la presentación en disco.
presentation.save("ImageAsBackground.pptx", aspose.slides.SaveFormat.Pptx);
} finally {
presentation.dispose();
}
El siguiente fragmento de código muestra cómo establecer el tipo de relleno de fondo a una imagen en mosaico y modificar las propiedades de mosaico:
let presentation = new aspose.slides.Presentation();
try {
let firstSlide = presentation.getSlides().get_Item(0);
let background = firstSlide.getBackground();
background.setType(java.newByte(aspose.slides.BackgroundType.OwnBackground));
background.getFillFormat().setFillType(java.newByte(aspose.slides.FillType.Picture));
let newImage = aspose.slides.Images.fromFile("image.png");
let ppImage = presentation.getImages().addImage(newImage);
newImage.dispose();
// Establecer la imagen utilizada para el relleno del fondo.
let backPictureFillFormat = background.getFillFormat().getPictureFillFormat();
backPictureFillFormat.getPicture().setImage(ppImage);
// Establecer el modo de relleno de la imagen a Mosaico y ajustar las propiedades del mosaico.
backPictureFillFormat.setPictureFillMode(aspose.slides.PictureFillMode.Tile);
backPictureFillFormat.setTileOffsetX(15.0);
backPictureFillFormat.setTileOffsetY(15.0);
backPictureFillFormat.setTileScaleX(46.0);
backPictureFillFormat.setTileScaleY(87.0);
backPictureFillFormat.setTileAlignment(java.newByte(aspose.slides.RectangleAlignment.Center));
backPictureFillFormat.setTileFlip(aspose.slides.TileFlip.FlipY);
presentation.save("TileBackground.pptx", aspose.slides.SaveFormat.Pptx);
} finally {
presentation.dispose();
}
Cambiar la transparencia de la imagen de fondo
Es posible que desee ajustar la transparencia de la imagen de fondo de una diapositiva para que el contenido de la misma destaque. El siguiente código JavaScript le muestra cómo cambiar la transparencia de la imagen de fondo de una diapositiva:
var transparencyValue = 30; // Por ejemplo.
// Obtener la colección de operaciones de transformación de imagen.
var imageTransform = slide.getBackground().getFillFormat().getPictureFillFormat().getPicture().getImageTransform();
// Buscar un efecto de transparencia de porcentaje fijo existente.
var transparencyOperation = null;
for (let i = 0; i < imageTransform.size(); i++) {
let operation = imageTransform.get_Item(i);
if (java.instanceOf(operation, "com.aspose.slides.AlphaModulateFixed")) {
transparencyOperation = operation;
break;
}
}
// Establecer el nuevo valor de transparencia.
if (transparencyOperation == null) {
imageTransform.addAlphaModulateFixedEffect(100 - transparencyValue);
} else {
transparencyOperation.setAmount(100 - transparencyValue);
}
Obtener el valor del fondo de la diapositiva
Aspose.Slides proporciona la clase BackgroundEffectiveData para recuperar los valores de fondo efectivos de una diapositiva. Esta clase expone el FillFormat y el EffectFormat efectivos.
Usando el método getBackground de la clase BaseSlide, puede obtener el fondo efectivo de una diapositiva.
El siguiente ejemplo en JavaScript muestra cómo obtener el valor efectivo del fondo de una diapositiva:
// Crear una instancia de la clase Presentation.
let presentation = new aspose.slides.Presentation("Sample.pptx");
try {
let slide = presentation.getSlides().get_Item(0);
// Obtener el fondo efectivo, teniendo en cuenta la diapositiva maestra, el diseño y el tema.
let effBackground = slide.getBackground().getEffective();
if (effBackground.getFillFormat().getFillType() == aspose.slides.FillType.Solid)
console.log("Fill color:", effBackground.getFillFormat().getSolidFillColor().toString());
else
console.log("Fill type:", effBackground.getFillFormat().getFillType());
} finally {
presentation.dispose();
}
Preguntas frecuentes
¿Puedo restablecer un fondo personalizado y restaurar el fondo del tema/distribución?
Sí. Elimine el relleno personalizado de la diapositiva y el fondo volverá a heredarse del layout/master correspondiente (es decir, del fondo del tema).
¿Qué ocurre con el fondo si cambio el tema de la presentación más adelante?
Si una diapositiva tiene su propio relleno, permanecerá sin cambios. Si el fondo se hereda del layout/master, se actualizará para coincidir con el nuevo tema.