Color.php 925 B

123456789101112131415161718192021222324252627282930313233343536
  1. <?php
  2. namespace PhpOffice\PhpSpreadsheet\Reader\Xls;
  3. use PhpOffice\PhpSpreadsheet\Reader\Xls;
  4. class Color
  5. {
  6. /**
  7. * Read color.
  8. *
  9. * @param int $color Indexed color
  10. * @param array $palette Color palette
  11. * @param int $version
  12. *
  13. * @return array RGB color value, example: array('rgb' => 'FF0000')
  14. */
  15. public static function map($color, $palette, $version)
  16. {
  17. if ($color <= 0x07 || $color >= 0x40) {
  18. // special built-in color
  19. return Color\BuiltIn::lookup($color);
  20. } elseif (isset($palette, $palette[$color - 8])) {
  21. // palette color, color index 0x08 maps to pallete index 0
  22. return $palette[$color - 8];
  23. }
  24. // default color table
  25. if ($version == Xls::XLS_BIFF8) {
  26. return Color\BIFF8::lookup($color);
  27. }
  28. // BIFF5
  29. return Color\BIFF5::lookup($color);
  30. }
  31. }