【发布时间】:2018-08-16 06:26:12
【问题描述】:
我让这段代码可以工作,但几周后代码无法正常工作,我确实尝试查看错误来自哪里,但我不知道。 我确实使用 GD 库创建了图像并且它创建成功但是当我想将它与另一张图片合并时它只显示黑屏。请知道如何解决这个问题。这是我的代码: 请注意图片创建并保存成功,所以create_image()函数没有问题。
function create_image()
{
$cer_id = get_the_ID();
$cer_org_nummer = get_field('orgnummer_dqm');
$cer_today = date('Y-m-d');
$cer_org_name = get_field('foretags_namn_dqm');
$cer_org_date = $cer_org_nummer . ' | ' . $cer_today;
$im = @imagecreate(500, 450);
$yellow = imagecolorallocate($im, 255, 255, 255); // yellow
imagecolortransparent($im, $yellow);
$black = imagecolorallocate($im, 252, 195, 91);
$string = "Digital Quality Managment";
$font = FUNC_PLUGIN_D_DQM . '/font/Roboto-Regular.ttf';// black
/* imagestring($im, $font, 50, 300, $string, $black);*/
/* imagestring($im, $font, 3, 300, $cer_org_name, $black);*/
/* imagestring($im, $font, 0, 10, $cer_org_date, $black);*/
imagettftext($im, 35, 0, 60, 270, $black, $font, 'CERTIFIED');
imagettftext($im, 25, 0, 0, 320, $black, $font, $cer_org_date);
imagepng($im, "wp-content/plugins/certificates/cer_images/image_$cer_id.png");
imagedestroy($im);
}
create_image();
$image1 = "wp-content/plugins/certificates/cer_images/dqm_png_logo.png";
$image2 = "wp-content/plugins/certificates/cer_images/image_$cer_id.png";
list($width, $height) = getimagesize($image2);
$image1 = imagecreatefromstring(file_get_contents($image1));
$image2 = imagecreatefromstring(file_get_contents($image2));
imagealphablending($image1, FALSE);
imagesavealpha($image1, TRUE);
imagecopymerge($image1, $image2, 110, 50, 0, 0, $width, $height, 100);
header("Content-type: image/png");
imagepng($image1);
imagedestroy($image1);
【问题讨论】:
-
您好,我也使用相同类型的代码来合并 2 张图像,并且它在我这边工作正常。我正在使用该代码超过 4 个月...如果您愿意,我将与您分享我的代码
-
谢谢,请与我分享。 @YogeshGarg
-
HI @AmjadKhalil 请检查答案部分中添加的代码。这里 $_REQUEST['apid'] 是 id 图像。您需要使用图像的目录路径才能使用此功能。
-
@YogeshGarg 谢谢你,但没用,我猜这个主题有些问题,因为我的代码几天前可以工作,但在我更新主题后它开始无法工作。
-
好的..那么请检查您的代码一次..如果您需要任何帮助,请告诉我。
标签: php wordpress gdlib imagecreatefrompng