PHP 根据百分比而不是重新创建图像


PHP make image based on percentage instead of resoulution

我正在制作一个PHP网络应用程序,使用户能够创建海报。

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

用户将能够获得多种尺寸的海报,因此作为示例,我想知道如何制作这样的线条:

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

缩放,因此,如果用户希望图像是原来的两倍大,则会将其更改为:

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

如何做到这一点?

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

[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表达式移动到它的价值位置。