如何在PHP GD

时间:2018-08-18 15:17:21

标签: php gdlib

我想问一下,我有一个网络报价制作工具,并按如下所示执行代码,

<?php

if(isset($_POST['execute'])) {

echo "<label>Result :</label>";

$folder = "files/quote/";
$overlay = $folder."overlay.png";
$font_quote = "files/_font/"."Ubuntu-Medium.ttf";
$font_copyright = "files/_font/"."Ubuntu-Medium.ttf";
$filename = $folder.md5(rand(000,999)).".png";
$quote = @$_POST['quote'] ? $_POST['quote'] : 'YOUR QUOTE';
$copyright = @$_POST['copyright'] ? $_POST['copyright'] : 'Username';
$backgrond = @$_POST['background'];

if (!filter_var($backgrond, FILTER_VALIDATE_URL) === false) {
    $bg = $backgrond;
}else {    
    $bg = get_redirect_target('https://source.unsplash.com/640x640/?'.urlencode($backgrond));
}

$image = new PHPImage();
$image->setQuality(10);
$image->setDimensionsFromImage($overlay);
$image->draw($bg);
$image->draw($overlay, '50%', '75%');
$image->setFont($font_quote);
$image->setTextColor(array(255, 255, 255));
$image->setAlignVertical('center');
$image->setAlignHorizontal('center');
$image->textBox($quote, array(
    'fontSize' => 28,
    'x' => 130,
    'y' => 240,
    'width' => 380,
    'height' => 200,
    'debug' => false
    ));

$image->setFont($font_copyright);
$image->setTextColor(array(230, 209, 65)); 
$image->text('CopyRight © '.$copyright, array(
    'fontSize' => 15,
    'x' => 0,
    'y' => 535,
    'width' => 640,
    'height' => 20,
    'debug' => false
    ));
$image->save($filename);


$imagebase64 = "data:image/png;base64,".base64_encode(file_get_contents($filename));
echo "<a href='".$imagebase64."' target='_blank' download='$filename'><img src='".$imagebase64."'/></a>";
unlink($filename);
}

?>

问题:

是否可以将copyright字代码设置为2种颜色,而不仅仅是1种颜色,该代码仍然是黄色的1种颜色,因此如果提交,则颜色为白色{{1 }},黄色是Copyright ©

1 个答案:

答案 0 :(得分:0)

您可以尝试

<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.1/jquery.min.js"></script>

<div class="container">
  <div class="slider slider-homepage">
    <div class="slider-container">
      <a href="#">
        <img src="https://picsum.photos/1200/300/?gravity=east" alt="">
      </a>
      <a href="#">
        <img src="https://picsum.photos/1200/300/?gravity=south" alt="">
      </a>
      <a href="#">
        <img src="https://picsum.photos/1200/300/?gravity=west" alt="">
      </a>
    </div>
  </div>
</div>

如果您注意到,我已经将您的版权文本与用户名变量分开了。 我将它们都放置在相同的Y轴上,但放置在不同的X轴上,就像在图形上绘制一样。 我还给了他们不同的颜色,但字体相同。

如果版权X的位置离用户名太远或太近,您可以调整版权X的位置