Revision: 65616
Initial Code
Initial URL
Initial Description
Initial Title
Initial Tags
Initial Language
at January 1, 2014 06:03 by wyattstorch42
Initial Code
<?php
// Enable robust error reporting to catch errors
error_reporting(E_ALL);
// Generate an image if the form has been submitted
if (!empty($_GET)) {
// $side is the width and height of the resulting image
$side = intval($_GET['side']);
// $color is a hexadecimal color (000000 to FFFFFF)
$color = $_GET['color'];
// If the $color begins with a # sign, strip it off
$color = substr($color, 0, 1) == '#' ? substr($color, 1) : $color;
// Split the color into the hex value for red, green, and blue
list($r, $g, $b) = str_split($color, 2);
// Convert the hexadecimal strings to decimal numbers (00=00, FF=255)
$r = hexdec($r);
$g = hexdec($g);
$b = hexdec($b);
// Create the canvas
$image = imagecreatetruecolor($side, $side);
// Preserve transparency
imagesavealpha($image, true);
// Fill it with a transparent background
imagefill($image, 0, 0, imagecolorallocatealpha($image, 0, 0, 0, 127));
// Allocate the bar color
$color = imagecolorallocate($image, $r, $g, $b);
// Draw 3 rectangles on the canvas from (x1, x2) to (y1, y2) and fill
// them with the bar color
$x1 = $side/7;
$x2 = $side-$x1;
for ($y1 = $x1; $y1 < $x2; $y1 += $x1*2) {
imagefilledrectangle($image, $x1, $y1, $x2-1, $y1+$x1-1, $color);
}
// Output the PNG if no errors were printed during this process
if (!headers_sent()) {
header('Content-Type: image/png');
imagepng($image);
imagedestroy($image);
}
// Terminate
exit;
}
?>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Hamburger Icon Generator</title>
</head>
<body>
<h1>Hamburger Icon Generator</h1>
<form method="get" target="_blank">
<p><label>Size <input type="number" name="side" min="7" max="700" step="7" value="49" onchange="document.getElementById('side').innerHTML = this.value;">×<span id="side">49</span> (must be a multiple of 7)</label></p>
<p><label>Bar Color #<input type="text" name="color" value="000000"> (hex values only)</label></p>
<p><input type="submit" value="Generate"></p>
</form>
</body>
</html>
Initial URL
Initial Description
Save this script on your localhost and run it whenever you need to generate a "hamburger icon" of a specific size and color. Just tell it the dimensions and bar color and it will output a mathematically perfect hamburger icon as a transparent PNG, which you can just download.
Initial Title
PHP Hamburger Generator
Initial Tags
php
Initial Language
PHP