protected function validateArguments(array
$arguments) { // PHP 5.5 GD bug: https://bugs.php.net/bug.php?id=65148: To prevent buggy
// behavior on negative multiples of 90 degrees we convert any negative
// angle to a positive one between 0 and 360 degrees.
$arguments['degrees'
] -=
floor($arguments['degrees'
] / 360
) * 360;
// Validate or set background color argument.
if (!
empty($arguments['background'
])) { // Validate the background color: Color::hexToRgb does so for us.
$background = Color::
hexToRgb($arguments['background'
]) +
['alpha' => 0
];
} else { // Background color is not specified: use transparent white as background.
$background =
['red' => 255, 'green' => 255, 'blue' => 255, 'alpha' => 127
];
} // Store the color index for the background as that is what GD uses.
$arguments['background_idx'
] =
imagecolorallocatealpha($this->
getToolkit()->
getResource(),
$background['red'
],
$background['green'
],
$background['blue'
],
$background['alpha'
]);
if ($this->
getToolkit()->
getType() === IMAGETYPE_GIF
) { // GIF does not work with a transparency channel, but can define 1 color
// in its palette to act as transparent.