// vim app/routes.php
<?php
Route::pattern('width', '\d+');
Route::pattern('height', '\d+');
Route::get('{width}x{height}', 'ImageHolderController@getIndex');
// vim app/controllers/ImageHolderController.php
<?php
class ImageHolderController extends BaseController {
public function getIndex($width, $height)
{
$width = intval($width);
$height = intval($height);
if ($width > 1900 || $height > 900)
App::abort(404);
$fontSize = min(max(intval($width / 5), 12), 38);
$image = Image::canvas($width, $height, '#CCCCCC')
->line('#B5B5B5', 0, 0, $width, $height)
->line('#B5B5B5', $width, 0, 0, $height)
->text($width . 'x' . $height, $width / 2, $height / 2, function ($font) use ($fontSize) {
$font->file(public_path('font/Georgia.ttf'));
$font->align('center');
$font->valign('middle');
$font->size($fontSize);
$font->color('#666666');
});
return Response::make($image, 200, array('Content-Type' => 'image/png'));
}
}
|