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