php實現圖片局部打馬賽克的方法
導語:本文實例講述了php實現圖片局部打馬賽克的方法,分享給大家供大家參考。
原理:
對圖片中選定區域的每一像素,增加若干寬度及高度,生成矩型。而每一像素的矩型重疊在一起,就形成了馬賽克效果。
本例使用GD庫的imagecolorat獲取像素顏色,使用imagefilledrectangle畫矩型。
/** 圖片局部打馬賽克
* @param String $source 原圖
* @param Stirng $dest 生成的圖片
* @param int $x1 起點橫座標
* @param int $y1 起點縱座標
* @param int $x2 終點橫座標
* @param int $y2 終點縱座標
* @param int $deep 深度,數字越大越模糊
* @return boolean
*/
function imageMosaics($source, $dest, $x1, $y1, $x2, $y2, $deep){
// 判斷原圖是否存在
if(!file_exists($source)){
return false;
}
// 獲取原圖信息
list($owidth, $oheight, $otype) = getimagesize($source);
// 判斷區域是否超出圖片
if($x1>$owidth || $x1<0 || $x2>$owidth || $x2<0 || $y1>$oheight || $y1<0 || $y2>$oheight || $y2<0){
return false;
}
switch($otype){
case 1: $source_img = imagecreatefromgif($source); break;
case 2: $source_img = imagecreatefromjpeg($source); break;
case 3: $source_img = imagecreatefrompng($source); break;
default:
return false;
}
// 打馬賽克
for($x=$x1; $x<$x2; $x=$x+$deep){
for($y=$y1; $y<$y2; $y=$y+$deep){
$color = imagecolorat($source_img, $x+round($deep/2), $y+round($deep/2));
imagefilledrectangle($source_img, $x, $y, $x+$deep, $y+$deep, $color);
}
}
// 生成圖片
switch($otype){
case 1: imagegif($source_img, $dest); break;
case 2: imagejpeg($source_img, $dest); break;
case 3: imagepng($source_img, $dest); break;
}
return is_file($dest)? true : false;
}
$source = 'source.jpg';
$dest = 'dest.jpg';
$flag = imageMosaics($source, $dest, 176, 98, 273, 197, 4);
echo '
'; echo '';
?>
相關文章
-
ps怎麼給圖片打馬賽克
許多網友都跟小編一樣經常需要處理一些圖片上的水印,或者將一些圖片上的私人信息打上馬賽克。 不過,PS怎麼給圖片打馬賽克呢?在今天的教程中,我們就來學習一下PS給圖片打馬賽克的3個方法! PS給圖片打馬賽克的方法一:1、 -
php上傳圖片客戶端和服務器端實現方法
總結是在某一特定時間段對學習和工作生活或其完成情況,包括取得的成績、存在的問題及得到的經驗和教訓加以回顧和分析的書面材料,它能夠使頭腦更加清醒,目標更加明確,因此好好準備一份總結吧。那麼總結要注意有什麼內容呢 -
php啓用sphinx全文搜索的實現方法
統籌城鄉協調發展 加快推進現代化進程 統籌城鄉協調發展,是黨的xx大着眼於實現全面建設小康社會的奮鬥目標而提出的一個重大發展思路和戰略舉措。實施城鄉統籌協調發展戰略,不僅是落實科學發展觀,實現“五個統籌”的關鍵 -
PHP實現地圖區域數據統計的方法
PHP程序開發快,運行快,技術本身學習快。嵌入於HTML:因爲PHP可以被嵌入於HTML語言,它相對於其他語言。編輯簡單,實用性強,更適合初學者。以下是小編爲大家搜索整理PHP實現地圖區域數據統計的方法,希望能給大家帶來幫助!更多精 -
php生成圖片縮略圖的方法
雖然在HTML中可以通過指定圖片的寬度和高度來隨意縮放圖片,但是這種方法不會減少圖片的像素數目。圖形文件的尺寸沒有改變,當然也不會加快圖片下載的速度了。當然也可以手動通過圖形軟件生成圖片的縮略圖,但對於大量的圖 -
實現ppt點擊文字顯示圖片效果的方法
1、首先,打開PTP,找到需要鏈接的文字,然後選中該文字,比如圖中的“趟門櫃”2、選擇工具欄中的“插入”,再選擇“超鏈接”,如圖中所示3、就會彈出一個插入超鏈接的窗口,然後我們在查找範圍那裏選擇我們要鏈接的圖片的`路徑,選 -
php實現圖片縮放功能類
無論是身處學校還是步入社會,大家都不可避免地會接觸到致辭吧,致辭是指在舉行會議或某種儀式時具有一定身份的人的講話。什麼樣的致辭纔是好致辭呢?下面是小編爲大家收集的婚慶證婚人致辭,歡迎大家分享。婚慶證婚人致辭1 -
PHP實現HTTP斷點續傳的方法
PHP是一種通用開源腳本語言。本文實例講述了PHP實現HTTP斷點續傳的方法。分享給大家供大家參考。 具體實現方法如下:<?php/*** PHP-HTTP斷點續傳實現* @param string $path: 文件所在路徑* @param string $file: 文件 -
如何實現PHP圖片裁剪與縮放
導語:如何實現PHP圖片裁剪與縮放,大家可以參考以下實現代碼,更多詳情請關注應屆畢業生考試網。/**exif_imagetype -- 判斷一個圖像的類型*功能說明:函數功能是把一個圖像裁剪爲任意大小的圖像,並保持圖像不變形*參數說明:輸 -
PHP圖片文件怎麼上傳實現代碼
通過 PHP,可以把文件上傳到服務器。裏面加入一些圖片的判斷,如果不加判斷文件的類型就可以上傳任意格式的文件。爲了網站的安全,肯定不讓上傳php文件,如果有人進入你的後臺,上傳了一個php文件,你的網站源碼,全部救變成他的了