當前位置:首頁 » 編程語言 » php圖片水印

php圖片水印

發布時間: 2022-02-12 06:55:02

1. php添加文字和圖片水印問題。

//可能是你的編碼設置有問題,在配置文件中設置編碼為UTF-8或者別的,反正和你其它地方編碼統一
header('Content-Type:text/html;charset=utf-8');

2. 用PHP代碼給圖片加水印

這篇文章主要介紹了用PHP代碼給圖片加水印的相關資料,需要的朋友可以參考下
先找好一張圖片,更名為face.jpeg,創建watermark.php:
?
1
2
3
4
5
6
7
8
9
10
11
12
<?php
/**
*
Created
by
PhpStorm.
*
User:
Administrator
*
Date:
2015/6/29
*
Time:
22:27
*/
$img
=
imagecreatefromjpeg('face.jpeg');//根據已有的JPG創建image
header('Content-type:image/jpeg');//設置mime
type
imagestring($img,5,5,5,'Vito-L',imagecolorallocate($img,255,0,0));//生成水印,imagestring(圖片,字體,位置x,位置y,字元串,顏色)
imagejpeg($img);//輸出圖片
//整幅圖像的左上角為
0,0
效果如下:
以上所述就是本文的全部內容了,希望大家能夠喜歡。

3. 去圖片水印PHP代碼

這個一般手工操作,因為水印大小,位置都不同,如果你可以確認位置和用什麼覆蓋(若水印蓋住圖片細節,怎麼覆蓋),那才有編程解決的可能。
老老實實用ps吧,需要比較多的勞動力的事

4. php文字水印,水印會根據圖片的大小自動變化

這個好像有點復雜哦
一般水印都是用GD庫函數實現的,你可以把上傳的圖片長寬取出來,這應該不難吧,然後根據需要在你實現水印的函數里根長寬參數關聯,應該就能實現。

5. PHP給圖片加水印的思想是什麼

貼個php的圖片處理類 你可以自己研究下 共同進步 呵呵

/*
此類包含以下功能
A.生成縮略圖
B.給圖片添加文字水印(包括中文)
C.將指定的圖片旋轉90度/180度/270度,並保存至文件
D.將圖片水平/垂直翻轉,並保存至文件
E.在線裁剪圖片任意部分矩形(正在編寫之中)
具體目標效果暫時可以參考 http://yananzb.com/cut/cut.htm
期待您的響應

成員函數說明
---------------------------------------------------------------------------------------------
public void CImage::__construct(string $src_image_file)
功能:類CImage的構造函數
參數
$src_image_file 字元串,源圖片文件名 注意,目前只支持gif,png,jpeg,jpg格式,這是GD庫的限制,並非本程序的局限
---------------------------------------------------------------------------------------------
public bool CImage: thumb($image_dist,$x)
功能:根據源圖片生成縮略圖,並保存至文件
$image_dist 字元串 目標縮略圖片路徑及文件名 如 /File/th.jpg
$x 整型 目標縮略圖片的尺寸限制即當原始圖片的寬大於高時,那麼新的縮略圖的寬為$x,反之高為$x
---------------------------------------------------------------------------------------------
public bool image_press($image_dist,$str,$font="simkai.ttf")

函數功能:
圖片生成水印並保存新圖片至目標文件
參數說明:
$image_dist 字元串 目標圖片名
$str 字元串 要寫入到圖片水印的字元串
$font 字元串 合法的系統字體名或WEB目錄中正確的字體文件名
---------------------------------------------------------------------------------------------
public bool rotate($image_dist,$angle)
函數功能:
將源圖片旋轉一定角度並將新圖片保存至文件
參數說明:
$image_dist 字元串 目標圖片文件名
$angle 整數 要旋轉的角度 只能是90或180或270度
---------------------------------------------------------------------------------------------
public bool rotate_h($image_dist)
函數功能:
將源圖片水平翻轉,並將新圖片保存至文件
參數說明:
$image_dist 字元串 目標圖片文件名
---------------------------------------------------------------------------------------------
public bool rotate_v($image_dist)
函數功能:
將源圖片垂直翻轉,並將新圖片保存至文件
參數說明:
$image_dist 字元串 目標圖片文件名
---------------------------------------------------------------------------------------------
使用範例:
$p=new CImage("s.jpg"); //創建一個圖片處理對象
$p->thumb("thumb.jpg",300); //生成縮略圖 限制尺寸為300,保存為thumb.jpg
$p->rotate("rt.jpg",90); //旋轉90度,並保存為rt.jpg,類似地,你可以將90換成180,270進行旋轉
$p->rotate_h("h.jpg"); //水平翻轉
$p->rotate_v("v.jpg"); //垂直翻轉

*/
class CImage{
var $src_image;
var $width;
var $height;
var $image_type;
var $img;
var $src_x;
var $src_y;

function __construct($image_file)
{
$info=GetImageSize($image_file);
$this->src_image=$image_file;
$this->width=$info[0];
$this->height=$info[1];

switch($info[2])
{
case 1:
$this->image_type="gif";
break;
case 2:
$this->image_type="jpeg";
break;
case 3:
$this->image_type="png";
break;
default:
return false;
//echo("Unsurport Image type.");
break;
} //swith end
//echo "ok";
$new_function='ImageCreateFrom'.ucfirst($this->image_type);
$this->img=$new_function($this->src_image);
$this->src_x=ImageSX($this->img);
$this->src_y=ImageSY($this->img);
}
function thumb($image_dist,$x) //$x為新圖的限制邊的尺寸
{
$src_x=ImageSX($this->img);
$src_y=ImageSY($this->img);
$scale=min($x/$src_x,$x/$src_y);

if($scale<1)
{
$new_x=floor($scale*$src_x);
$new_y=floor($scale*$src_y);
$img_tmp=ImageCreateTrueColor($new_x,$new_y); //set the size of Canvas for the new Image
ImageCopyResampled($img_tmp,$this->img,0,0,0,0,$new_x,$new_y,$src_x,$src_y); //Resampled
ImageDestroy($this->img);
$new_function="Image".ucfirst($this->image_type);

return $new_function($img_tmp,$image_dist);
}
} // thumb end

//給圖片生成文字水印
function image_press($image_dist,$str,$font="simkai.ttf") {
$str=iconv("GB2312","utf-8",$str);
$blue=ImageColorAllocate($this->img,90,255,255);
$white=ImageColorAllocate($this->img,255,0,0);
ImageTTFText($this->img,20,0,$this->src_x/2/2,$this->src_y-80,$white,$font,$str);
$new_function="Image".ucfirst($this->image_type);
return $new_function($this->img,$image_dist);
}

function rotate($image_dist,$angle)
{
$img_tmp=null;
$new_function="Image".ucfirst($this->image_type);
if(($angle!=90)&&($angle!=180)&&($angle!=270))
{
echo("Un-valid angle on calling CImage::rotate(\$image_dist,\$angle) .<p>The valid angle must be 90 or 180 or 270.");
return false;
}

if(($angle==90)||($angle==270))
{
$img_tmp=ImageCreateTrueColor($this->src_y,$this->src_x);
}
else
{
$img_tmp=ImageCreateTrueColor($this->src_x,$this->src_y);
}

switch($angle)
{
case 90:
for($i=0;$i<$this->src_x;$i++)
{
for($j=0;$j<$this->src_y;$j++)
{
ImageSetPixel($img_tmp,$this->src_y-$j-1,$i,ImageColorAt($this->img,$i,$j));
}
}
return $new_function($img_tmp,$image_dist);
break;

case 180:
for($i=0;$i<$this->src_x;$i++)
{
for($j=0;$j<$this->src_y;$j++)
{
ImageSetPixel($img_tmp,$this->src_x-$i-1,$this->src_y-$j-1,ImageColorAt($this->img,$i,$j));
}
}
return $new_function($img_tmp,$image_dist);
break;

case 270:
for($i=0;$i<$this->src_x;$i++)
{
for($j=0;$j<$this->src_y;$j++)
{
ImageSetPixel($img_tmp,$j,$this->src_x-$i-1,ImageColorAt($this->img,$i,$j));
}
}
return $new_function($img_tmp,$image_dist);
break;
} //end switch

} //end rotate

function rotate_h($image_dist)
{
$new_function="Image".ucfirst($this->image_type);
$img_tmp=ImageCreateTrueColor($this->src_x,$this->src_y);
ImageCopyResampled($img_tmp,$this->img,0,0,$this->src_x-1,0,$this->src_x,$this->src_y,-$this->src_x,$this->src_y); //水平翻轉
return $new_function($img_tmp,$image_dist);
}

function rotate_v($image_dist)
{
$new_function="Image".ucfirst($this->image_type);
$img_tmp=ImageCreateTrueColor($this->src_x,$this->src_y);
ImageCopyResampled($img_tmp,$this->img,0,0,0,$this->src_y-1,$this->src_x,$this->src_y,$this->src_x,-$this->src_y);
return $new_function($img_tmp,$image_dist);
}
} //end CImage

6. php代碼 可以直接去掉圖片水印嗎怎樣去

使用PHP代碼只能生成圖片水印,想要去掉圖片水印要藉助PS等工具,不過很麻煩

7. php 如何檢查圖片是否已經加過水印 求解

在php採集的時候,尤其是大量的自動採集的時候,加了水印的圖片想程序自動鑒別。
你是這種想法嗎?
這種想法可以,但沒有這種方法。以前沒有,今後也不會有。
水印和圖片已經形成一張新圖片了,不要說PHP對圖片沒有識別能力,就算PHP對圖片有識別能力,它也沒有辦法識別圖片上哪個屬於圖片內容,哪個屬於水印內容。
但是,我們就沒有辦法處理水印的問題嗎?辦法肯定是有的。我提供幾種思路:
1、我們自己建立一個無水印網站地址庫,這個由我們日常來管理。php通過圖片的真實地址,屬於無水印網站地址范圍,就認為是無水印的。不在范圍內的,就作為有水印處理。
2、如果我們固定從某個大站取圖片,它的圖片有的有水印,有的無水印,而且有水印的都是那麼固定的格式,那我們就根據它的方法,在水印上添加我們的水印。但這不是萬能的,如果它在圖片上全部鋪滿它的logo或者網址,像貼滿膏葯一樣無法下手,我們只能對此說sorry,換個網站吧。

8. 請問php怎麼去除採集到的圖片水印,怎麼去除水印呢,求解

PHP去除水印需要用插件在線處理,這種方法是不可取的。
推薦方法:使用PS等圖片處理工具進行處理。

9. PHP給圖片添加文字水印

請確認C:\WINDOWS\Fonts\simkai.ttf';是否支持中文
或不要轉換
$str = iconv('GB2312','UTF-8',$str);
直接
$str=$str;

10. php 怎麼打開一個存在的圖片再加水印

查手冊
bool image ( resource $dst_im , resource $src_im , int $dst_x , int $dst_y , int $src_x , int $src_y , int $src_w , int $src_h )

或者
bool imagestring ( resource $image , int $font , int $x , int $y , string $s , int $col )

熱點內容
c語言字元串初始化 發布:2025-05-17 20:18:43 瀏覽:35
安卓融e聯推送需要什麼許可權 發布:2025-05-17 20:18:39 瀏覽:268
我的世界無限武魂伺服器 發布:2025-05-17 20:17:09 瀏覽:371
安卓手游腳本語言 發布:2025-05-17 19:53:07 瀏覽:21
找圈演算法 發布:2025-05-17 19:49:19 瀏覽:410
資料庫的存取方法 發布:2025-05-17 19:48:36 瀏覽:125
androidapp測試 發布:2025-05-17 19:48:19 瀏覽:389
如何修改iphone密碼修改 發布:2025-05-17 19:47:31 瀏覽:509
發現了致富密碼是什麼意思 發布:2025-05-17 19:45:42 瀏覽:416
耐存儲的紙 發布:2025-05-17 19:43:35 瀏覽:931