$transparentcolor = NULL;
    case 'gif':
        $backgroundopacity = 100;
        $borderopacity = 100;
        $foregroundopacity = 100;
        break;
    case 'png':
        $transparentcolor = NULL;
        break;
}
$params = array('radius' => $radius, 'width' => $width, 'height' => $height, 'borderwidth' => $borderwidth, 'orientation' => $orientation, 'side' => $side, 'antialias' => $antialias, 'colors' => array('foreground' => new Color($foregroundcolor, $foregroundopacity / 100), 'border' => new Color($bordercolor, $borderopacity / 100), 'background' => new Color($backgroundcolor, $backgroundopacity / 100)));
switch (strtolower($shape)) {
    case 'r':
    case 'rect':
    case 'rectangle':
        $img = Rectangle::create($params);
        break;
    case 's':
    case 'side':
        $img = Side::create($params);
        break;
    case 'c':
    case 'corner':
    default:
        $img = Corner::create($params);
        break;
}
imagesavealpha($img, true);
if (!is_null($transparentcolor) && $transparentcolor) {
    $color = new Color($transparentcolor);
    imagecolortransparent($img, $color->getColorResource($img));