服务器之家:专注于服务器技术及软件下载分享
分类导航

PHP教程|ASP.NET教程|Java教程|ASP教程|编程技术|正则表达式|C/C++|IOS|C#|Swift|Android|VB|R语言|JavaScript|易语言|vb.net|

服务器之家 - 编程语言 - PHP教程 - php图片加水印原理(超简单的实例代码)

php图片加水印原理(超简单的实例代码)

2020-03-08 15:01PHP教程网 PHP教程

我看到网上有好多关于图片加水印的类,写的很好 ,我这里只是把相应的原理写下,具体需求,根据自己的情况来修改,很简单的,写的不好,高手见谅

文字水印: 
复制代码代码如下:

$w = 80; 
$h = 20; 
$im = imagecreatetruecolor($w,$h); 
$textcolor = imagecolorallocate($im, 123, 12, 255); 
$white = imagecolorallocate($im, 255, 255, 255); 
$grey = imagecolorallocate($im, 128, 128, 128); 
$black = imagecolorallocate($im, 0, 0, 0); 
imagefilledrectangle($im, 0, 0, 399, 29, $grey); //画一矩形并填充 

// 把字符串写在图像左上角 
imagestring($im, 3, 2, 3, "Hello world!", $textcolor); 

// 输出图像 
header("Content-type: image/jpeg"); 
imagejpeg($im); 
imagedestroy($im); 

图片水印 

$groundImg = "DSC05940.jpeg"; 
$groundInfo = getimagesize($groundImg); 
$ground_w = $groundInfo[0]; 
//print_r($groundInfo); 
$ground_h = $groundInfo[1]; 
switch($groundInfo[2]){ 
case 1: 
$ground_im = imagecreatefromgif($groundImg); 
break; 
case 2: 
$ground_im = imagecreatefromjpeg($groundImg); 
break; 
case 3: 
$ground_im = imagecreatefrompng($groundImg); 
break; 


$waterImg = "DSC05949.jpeg"; 
$imgInfo =getimagesize($waterImg); 
$water_w = $imgInfo[0]; 
$water_w = $imgInfo[1]; 

switch($imgInfo[2]){ 
case 1: 
$water_im = imagecreatefromgif($waterImg); 
break; 
case 2: 
$water_im = imagecreatefromjpeg($waterImg); 
break; 
case 3: 
$water_im = imagecreatefrompng($waterImg); 
break; 

imagecopy($ground_im,$water_im,100,100,0,0,500,500); 
header("Content-type: image/jpeg"); 

imagejpeg($ground_im); 

合并图片php提供了很多函数:例如:imagecopymerge,imagecopyresized

延伸 · 阅读

精彩推荐