Skip to content

Commit

Permalink
Merge pull request #203 from pallant/fill-alpha-channel-dev
Browse files Browse the repository at this point in the history
Implement alpha channel to Fills
  • Loading branch information
Progi1984 committed Apr 1, 2016
2 parents f5141e0 + 7a84e3b commit bd86d7c
Show file tree
Hide file tree
Showing 2 changed files with 45 additions and 0 deletions.
15 changes: 15 additions & 0 deletions src/PhpPresentation/Style/Color.php
Original file line number Diff line number Diff line change
Expand Up @@ -87,6 +87,21 @@ public function setARGB($pValue = self::COLOR_BLACK)
return $this;
}

/**
* Get the alpha % of the ARGB
* Will return 100 if no ARGB
* @return integer
*/
public function getAlpha()
{
$alpha = 100;
if (strlen($this->argb) >= 6) {
$dec = hexdec(substr($this->argb, 0, 2));
$alpha = number_format(( $dec/255 ) * 100, 2);
}
return $alpha;
}

/**
* Get RGB
*
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -155,6 +155,12 @@ protected function writeSolidFill(XMLWriter $objWriter, Fill $pFill)
// srgbClr
$objWriter->startElement('a:srgbClr');
$objWriter->writeAttribute('val', $pFill->getStartColor()->getRGB());

// a:alpha
$objWriter->startElement('a:alpha');
$objWriter->writeAttribute('val', $pFill->getStartColor()->getAlpha() * 1000);
$objWriter->endElement();

$objWriter->endElement();

$objWriter->endElement();
Expand All @@ -181,6 +187,12 @@ protected function writeGradientFill(XMLWriter $objWriter, Fill $pFill)
// srgbClr
$objWriter->startElement('a:srgbClr');
$objWriter->writeAttribute('val', $pFill->getStartColor()->getRGB());

// a:alpha
$objWriter->startElement('a:alpha');
$objWriter->writeAttribute('val', $pFill->getStartColor()->getAlpha() * 1000);
$objWriter->endElement();

$objWriter->endElement();

$objWriter->endElement();
Expand All @@ -192,6 +204,12 @@ protected function writeGradientFill(XMLWriter $objWriter, Fill $pFill)
// srgbClr
$objWriter->startElement('a:srgbClr');
$objWriter->writeAttribute('val', $pFill->getEndColor()->getRGB());

// a:alpha
$objWriter->startElement('a:alpha');
$objWriter->writeAttribute('val', $pFill->getEndColor()->getAlpha() * 1000);
$objWriter->endElement();

$objWriter->endElement();

$objWriter->endElement();
Expand Down Expand Up @@ -225,6 +243,12 @@ protected function writePatternFill(XMLWriter $objWriter, Fill $pFill)
// srgbClr
$objWriter->startElement('a:srgbClr');
$objWriter->writeAttribute('val', $pFill->getStartColor()->getRGB());

// a:alpha
$objWriter->startElement('a:alpha');
$objWriter->writeAttribute('val', $pFill->getStartColor()->getAlpha() * 1000);
$objWriter->endElement();

$objWriter->endElement();

$objWriter->endElement();
Expand All @@ -235,6 +259,12 @@ protected function writePatternFill(XMLWriter $objWriter, Fill $pFill)
// srgbClr
$objWriter->startElement('a:srgbClr');
$objWriter->writeAttribute('val', $pFill->getEndColor()->getRGB());

// a:alpha
$objWriter->startElement('a:alpha');
$objWriter->writeAttribute('val', $pFill->getEndColor()->getAlpha() * 1000);
$objWriter->endElement();

$objWriter->endElement();

$objWriter->endElement();
Expand Down

0 comments on commit bd86d7c

Please sign in to comment.