PHP根据百分比而不是分辨率制作图像

时间:2015-01-19 09:12:46

标签: php image image-processing

我正在创建一个PHP Web应用程序,使用户可以创建海报。

他们可以更改某些特定字段,当然海报的某些部分无法更改。

用户将能够获得多种尺寸的海报,以便我知道如何制作这样的一行:

imageline( $my_img, 30,
      200, 80, 200, $line_colour );

缩放所以如果用户希望图像加倍,则会更改为:

imageline( $my_img, 60,
      400, 160, 400, $line_colour );

如何实现这一目标?

1 个答案:

答案 0 :(得分:1)

使用变量而不是硬编码值。

[html form]
<select name="resize">
    <option value="1">Normal</option>
    <option value="2">Double size</option>
    <option value="3">Triple size</option>
</select>

[php]
$resize = !empty($_POST['resize']) ? intval($_POST['resize']) : 1;

$x1 = 30 * $resize;
$x2 = 80 * $resize;
$y1 = 200 * $resize;
$y2 = 200 * $resize;

imageline($my_img, $x1, $y1, $x2, $y2, $line_colour);

或者如果您希望避免变量,可以直接将表达式写入函数调用:

imageline($my_img, 30 * $resize, 80 * $resize, 200 * $resize, 200 * $resize, $line_colour);

甚至将$resize表达式移动到它的值位置。