function Random::image
Same name in other branches
- 9 core/lib/Drupal/Component/Utility/Random.php \Drupal\Component\Utility\Random::image()
- 8.9.x core/lib/Drupal/Component/Utility/Random.php \Drupal\Component\Utility\Random::image()
- 11.x core/lib/Drupal/Component/Utility/Random.php \Drupal\Component\Utility\Random::image()
Create a placeholder image.
Parameters
string $destination: The absolute file path where the image should be stored.
string $min_resolution: The minimum dimensions for the image. For example, '400x300'.
string $max_resolution: The maximum dimensions for the image. For example, '800x600'.
Return value
string Path to image file.
File
-
core/
lib/ Drupal/ Component/ Utility/ Random.php, line 329
Class
- Random
- Defines a utility class for creating random data.
Namespace
Drupal\Component\UtilityCode
public function image($destination, $min_resolution, $max_resolution) {
$extension = pathinfo($destination, PATHINFO_EXTENSION);
$min = explode('x', $min_resolution);
$max = explode('x', $max_resolution);
$width = rand((int) $min[0], (int) $max[0]);
$height = rand((int) $min[1], (int) $max[1]);
// Make an image split into 4 sections with random colors.
$im = imagecreate($width, $height);
for ($n = 0; $n < 4; $n++) {
$color = imagecolorallocate($im, rand(0, 255), rand(0, 255), rand(0, 255));
$x = $width / 2 * ($n % 2);
$y = $height / 2 * (int) ($n >= 2);
imagefilledrectangle($im, (int) $x, (int) $y, (int) ($x + $width / 2), (int) ($y + $height / 2), $color);
}
// Make a perfect circle in the image middle.
$color = imagecolorallocate($im, rand(0, 255), rand(0, 255), rand(0, 255));
$smaller_dimension = min($width, $height);
imageellipse($im, (int) ($width / 2), (int) ($height / 2), $smaller_dimension, $smaller_dimension, $color);
$save_function = 'image' . ($extension == 'jpg' ? 'jpeg' : $extension);
$save_function($im, $destination);
return $destination;
}
Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.