Пример #1
0
 /**
  * Test get/set color
  */
 public function testSetGetColor()
 {
     $object = new Shadow();
     $this->assertInstanceOf('PhpOffice\\PhpPowerpoint\\Style\\Shadow', $object->setColor());
     $this->assertNull($object->getColor());
     $this->assertInstanceOf('PhpOffice\\PhpPowerpoint\\Style\\Shadow', $object->setColor(new Color(Color::COLOR_BLUE)));
     $this->assertInstanceOf('PhpOffice\\PhpPowerpoint\\Style\\Color', $object->getColor());
     $this->assertEquals(Color::COLOR_BLUE, $object->getColor()->getARGB());
 }
Пример #2
0
 protected function writeStylePartShadow(XMLWriter $objWriter, Shadow $oShadow)
 {
     $objWriter->writeAttribute('draw:shadow', 'visible');
     $objWriter->writeAttribute('draw:shadow-color', '#' . $oShadow->getColor()->getRGB());
     if ($oShadow->getDirection() == 0 || $oShadow->getDirection() == 360) {
         $objWriter->writeAttribute('draw:shadow-offset-x', CommonDrawing::pixelsToCentimeters($oShadow->getDistance()) . 'cm');
         $objWriter->writeAttribute('draw:shadow-offset-y', '0cm');
     } elseif ($oShadow->getDirection() == 45) {
         $objWriter->writeAttribute('draw:shadow-offset-x', CommonDrawing::pixelsToCentimeters($oShadow->getDistance()) . 'cm');
         $objWriter->writeAttribute('draw:shadow-offset-y', CommonDrawing::pixelsToCentimeters($oShadow->getDistance()) . 'cm');
     } elseif ($oShadow->getDirection() == 90) {
         $objWriter->writeAttribute('draw:shadow-offset-x', '0cm');
         $objWriter->writeAttribute('draw:shadow-offset-y', CommonDrawing::pixelsToCentimeters($oShadow->getDistance()) . 'cm');
     } elseif ($oShadow->getDirection() == 135) {
         $objWriter->writeAttribute('draw:shadow-offset-x', '-' . CommonDrawing::pixelsToCentimeters($oShadow->getDistance()) . 'cm');
         $objWriter->writeAttribute('draw:shadow-offset-y', CommonDrawing::pixelsToCentimeters($oShadow->getDistance()) . 'cm');
     } elseif ($oShadow->getDirection() == 180) {
         $objWriter->writeAttribute('draw:shadow-offset-x', '-' . CommonDrawing::pixelsToCentimeters($oShadow->getDistance()) . 'cm');
         $objWriter->writeAttribute('draw:shadow-offset-y', '0cm');
     } elseif ($oShadow->getDirection() == 225) {
         $objWriter->writeAttribute('draw:shadow-offset-x', '-' . CommonDrawing::pixelsToCentimeters($oShadow->getDistance()) . 'cm');
         $objWriter->writeAttribute('draw:shadow-offset-y', '-' . CommonDrawing::pixelsToCentimeters($oShadow->getDistance()) . 'cm');
     } elseif ($oShadow->getDirection() == 270) {
         $objWriter->writeAttribute('draw:shadow-offset-x', '0cm');
         $objWriter->writeAttribute('draw:shadow-offset-y', '-' . CommonDrawing::pixelsToCentimeters($oShadow->getDistance()) . 'cm');
     } elseif ($oShadow->getDirection() == 315) {
         $objWriter->writeAttribute('draw:shadow-offset-x', CommonDrawing::pixelsToCentimeters($oShadow->getDistance()) . 'cm');
         $objWriter->writeAttribute('draw:shadow-offset-y', '-' . CommonDrawing::pixelsToCentimeters($oShadow->getDistance()) . 'cm');
     }
     $objWriter->writeAttribute('draw:shadow-opacity', 100 - $oShadow->getAlpha() . '%');
     $objWriter->writeAttribute('style:mirror', 'none');
 }
Пример #3
0
 protected function writeShadow(XMLWriter $objWriter, Shadow $oShadow)
 {
     // a:effectLst
     $objWriter->startElement('a:effectLst');
     // a:outerShdw
     $objWriter->startElement('a:outerShdw');
     $objWriter->writeAttribute('blurRad', CommonDrawing::pixelsToEmu($oShadow->getBlurRadius()));
     $objWriter->writeAttribute('dist', CommonDrawing::pixelsToEmu($oShadow->getDistance()));
     $objWriter->writeAttribute('dir', CommonDrawing::degreesToAngle($oShadow->getDirection()));
     $objWriter->writeAttribute('algn', $oShadow->getAlignment());
     $objWriter->writeAttribute('rotWithShape', '0');
     // a:srgbClr
     $objWriter->startElement('a:srgbClr');
     $objWriter->writeAttribute('val', $oShadow->getColor()->getRGB());
     // a:alpha
     $objWriter->startElement('a:alpha');
     $objWriter->writeAttribute('val', $oShadow->getAlpha() * 1000);
     $objWriter->endElement();
     $objWriter->endElement();
     $objWriter->endElement();
     $objWriter->endElement();
 }