使用PHP将图像放在另一个图像中
我有一个通过php表单动态生成文本的图像。我将徽标图像的位置保存到mysql数据库中的变量中。有没有办法拍摄此图像并将其应用到图像中的固定位置?如果需要的话,它将不得不调整得更小,以适应这个图像区域 我已经有了这样一个脚本:使用PHP将图像放在另一个图像中,php,image,gd,Php,Image,Gd,我有一个通过php表单动态生成文本的图像。我将徽标图像的位置保存到mysql数据库中的变量中。有没有办法拍摄此图像并将其应用到图像中的固定位置?如果需要的话,它将不得不调整得更小,以适应这个图像区域 我已经有了这样一个脚本: $img = imagecreatefromjpeg('coupon/coupontemplate.jpg'); $textColor = imagecolorallocate($img, 0, 0, 0); // black text
$img = imagecreatefromjpeg('coupon/coupontemplate.jpg');
$textColor = imagecolorallocate($img, 0, 0, 0); // black text
//Write first the coupon title
imagefttext($img, 16, 0, 20, 34, $textColor, 'coupon/arialbd.ttf', $title);
//Then write the coupon description
imagettftextbox($img, 13, 0, 20, 45, $textColor, 'coupon/arial.ttf', $description, 440);
//If the checkbox to include logo is checked...
if ($_POST['clogo'] == 'y') {
$logo = $row['imagecompany'];
$logo_file = "../directory/memberimages/$logo";
$logo_file_type = getimagesize($logo_file);
if ($logo_file_type['mime'] == 'image/jpg') {
$logoImage = imagecreatefromjpeg($logo_file);
} else if ($logo_file_type['mime'] == 'image/gif') {
$logoImage = imagecreatefromgif($logo_file);
} else if ($logo_file_type['mime'] == 'image/png') {
$logoImage = imagecreatefrompng($logo_file);
}
}
// Output image to the browser
//header('Content-Type: image/jpeg');
//imagejpeg($img);
// Or save to file
imagejpeg($img, 'my-text.jpg');
imagedestroy($img);
}
//}
有人知道怎么做吗--从指定的位置获取图像并将其放在另一个图像上?谢谢 我想您正在寻找或。您可以使用的
imagecopy
功能。快速搜索发现这篇文章可能会帮助你
您需要的功能是imagecopy: bool imagecopy(资源$dst_im,资源$src_im,int$dst_x,int$dst_y,int$src_x,int$src_y,int$src_w,int$src_h)
合并图像可以这样做:
表示要在生成的每个图像上添加徽标?图像上的图像。对吗?顺便提一下,对图像进行此操作的通用名称是“水印”——这可能会对您有所帮助。您知道帧是否可能是我正在生成的图像吗?$img变量?是的,如果它已经存在于您的文件系统中,您可以:如果您使用imagecreatefromstring函数传递此文件\u获取\u内容($src)$src可以是已生成图像的路径。否则,如果您已经知道已生成文件的图像类型,则可以使用imagecreatefrompng/jpeg/gif函数,再次将路径/url传递给已生成的图像
<?php
# If you don't know the type of image you are using as your originals.
$image = imagecreatefromstring(file_get_contents($your_original_image);
$frame = imagecreatefromstring(file_get_contents($your_frame_image));
# If you know your originals are of type PNG.
$image = imagecreatefrompng($your_original_image);
$frame = imagecreatefrompng($your_frame_image);
imagecopymerge($image, $frame, 0, 0, 0, 0, 50, 50, 100);
# Save the image to a file
imagepng($image, '/path/to/save/image.png');
# Output straight to the browser.
imagepng($image);