【问题标题】:how to draw semi-transparent rectangle in php?如何在php中绘制半透​​明矩形?
【发布时间】:2012-01-16 15:21:13
【问题描述】:

这是我想做的一个例子:

结果如下:

function red_rectangle($img_src,$x1,$y1,$x2,$y2,$tr = 50)
{
    // Load image
    $img = imagecreatefromjpeg($img_src);
    // Transparent red
    $red = imagecolorallocatealpha($img, 255, 0, 0, $tr);
    // Draw a white rectangle
    imagefilledrectangle($img, $x1, $y1, $x2, $y2, $red);
    // Save the image (overwrite)
    imagejpeg($img, $img_src);
    imagedestroy($img);
}

【问题讨论】:

  • 到目前为止你有什么?
  • 这个计划:我对函数的期望。
  • @2astalavista:那就实施吧。我想你误解了这个网站的用途。
  • @TomalakGeret'kal 你为什么这么认为?
  • @2astalavista:正确。这些是cmets

标签: php php-gd


【解决方案1】:

【讨论】:

  • 注意:如果imagealphablending()设置为false,alpha设置将无效。 docs.
【解决方案2】:
function red_rectangle($img_src,$x1,$y1,$x2,$y2,$tr = 100)
{
// Load image
$img = imagecreatefromjpeg($img_src);

// Transparent red
$red = imagecolorallocatealpha($img, 255, 0, 0, $tr);

// Draw a white rectangle
imagefilledrectangle($img, $x1, $y1, $x2, $y2, $red);


// Don't forget to output a correct header
header('Content-Type: image/jpg');

// Save the image (overwrite)
imagejpeg($img);
imagedestroy($img);
}
$img_src = 'test.jpg';
$x1= 500;
$y1= 450;
$x2 = 370;
$y2=180;
red_rectangle($img_src,$x1,$y1,$x2,$y2);

【讨论】:

    猜你喜欢
    • 2012-06-20
    • 2021-04-10
    • 1970-01-01
    • 2016-05-25
    • 2016-10-05
    • 1970-01-01
    • 2016-03-12
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多