有人有一个可以合并两个PNG图像的脚本吗?
满足以下条件:
这是我试图做但没有运气的事情:
<?php
function imagecopymerge_alpha($dst_im, $src_im, $dst_x, $dst_y, $src_x, $src_y, $src_w, $src_h, $pct){
$cut = imagecreatetruecolor($src_w, $src_h);
imagecopy($cut, $dst_im, 0, 0, $dst_x, $dst_y, $src_w, $src_h);
imagecopy($cut, $src_im, 0, 0, $src_x, $src_y, $src_w, $src_h);
imagecopymerge($dst_im, $cut, $dst_x, $dst_y, 0, 0, $src_w, $src_h, $pct);
}
$image1 = imagecreatefrompng('a.png'); //300 x 300
$image2 = imagecreatefrompng('b.png'); //150 x 150
$merged_image = imagecreatetruecolor(300, 300);
imagealphablending($merged_image, false);
imagesavealpha($merged_image, true);
imagecopy($merged_image, $image1, 0, 0, 0, 0, 300, 300);
imagecopymerge_alpha($merged_image, $image2, 0, 0, …Run Code Online (Sandbox Code Playgroud) 我正在尝试合并两个图像 - 一个带有较小JPG图像的GIF图像.输出应该是GIF.
问题是GIF图像颜色保持正确,但JPG图像的颜色会发生变化.
该GIF图片只有256色(8位),但有一种方法,使合并后的图像是真彩色的资源,后来可以转换为8位GIF输出?
我更新了代码.这是解决方案工作正常:
<?php
header('Content-Type: image/gif');
$gif_address = 'file.gif';
$jpg_address = 'file.jpg';
$image1 = imagecreatefromgif($gif_address);
$image2 = imagecreatefromjpeg($jpg_address);
$merged_image = imagecreatetruecolor(800, 800);
imagecopymerge($merged_image, $image1, 0, 0, 0, 0, 800, 800, 100);
imagecopymerge($merged_image, $image2, 0, 0, 0, 0, 500, 500, 100);
imagegif($merged_image);
imagedestroy($image1);
imagedestroy($image2);
imagedestroy($merged_image);
?>
Run Code Online (Sandbox Code Playgroud) 需要找到时间戳的第一分钟的的第一天的的当前周.
做这个的最好方式是什么?
<?php
$ts = mktime(); // this is current timestamp
?>
Run Code Online (Sandbox Code Playgroud) 有没有办法安全地消毒路径输入,而不使用realpath()?
目标是防止恶意输入 ../../../../../path/to/file
$handle = fopen($path . '/' . $filename, 'r');
Run Code Online (Sandbox Code Playgroud)