亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > PHP > 正文

PHP實現中文圓形印章的特效

2020-03-22 19:36:44
字體:
來源:轉載
供稿:網友
這篇文章主要介紹了關于PHP實現中文圓形印章的特效,有著一定的參考價值,現在分享給大家,有需要的朋友可以參考一下

心血來潮,寫了個圓形印章生成器,字體的弧形旋轉頗費功夫??偹阈Ч€不錯,代碼存檔。

方法一:

 ?php * 中文圓形印章類 * @author lkk/lianq.net * @create on 10:03 2012-5-29 * @example: * $seal = new circleSeal( 你我他坐站走東西南北中 ,75,6,24,0,0,16,40); * $seal- doImg();html' target='_blank'>class circleSeal { private $sealString; //印章字符 private $strMaxLeng; //最大字符長度 private $sealRadius; //印章半徑 private $rimWidth; //邊框厚度 private $innerRadius; //內圓半徑 private $startRadius; //五角星半徑 private $startAngle; //五角星傾斜角度 private $backGround; //印章顏色 private $centerDot; //圓心坐標 private $img; //圖形資源句柄 private $font; //指定的字體 private $fontSize; //指定字體大小 private $width; //圖片寬度 private $height; //圖片高度 private $points; //五角星各點坐標 private $charRadius; //字符串半徑 private $charAngle; //字符串傾斜角度 private $spacing; //字符間隔角度 //構造方法 public function __construct($str = , $rad = 75, $rmwidth = 6, $strad = 24, $stang = 0, $crang = 0, $fsize = 16, $inrad =0){ $this- sealString = empty($str) ? 印章測試字符串 : $str; $this- strMaxLeng = 12; $this- sealRadius = $rad; $this- rimWidth = $rmwidth; $this- startRadius = $strad; $this- startAngle = $stang; $this- charAngle = $crang; $this- centerDot = array( x = $rad, y = $rad); $this- font = dirname(__FILE__) . /simkai.ttf  $this- fontSize = $fsize; $this- innerRadius = $inrad; //默認0,沒有 $this- spacing = 1; //創建圖片資源 private function createImg(){ $this- width = 2 * $this- sealRadius; $this- height = 2 * $this- sealRadius; $this- img = imagecreate($this- width, $this- height); imagecolorresolvealpha($this- img,255,255,255,127); $this- backGround = imagecolorallocate($this- img,255,0,0); //畫印章邊框 private function drawRim(){ for($i=0;$i $this- rimWidth;$i++){ imagearc($this- img,$this- centerDot[ x ],$this- centerDot[ y ],$this- width - $i,$this- height - $i,0,360,$this- backGround); //畫內圓 private function drawInnerCircle(){ imagearc($this- img,$this- centerDot[ x ],$this- centerDot[ y ],2*$this- innerRadius,2*$this- innerRadius,0,360,$this- backGround); //畫字符串 private function drawString(){ //編碼處理 $charset = mb_detect_encoding($this- sealString); if($charset != UTF-8 ){ $this- sealString = mb_convert_encoding($this- sealString, UTF-8 , GBK  //相關計量 $this- charRadius = $this- sealRadius - $this- rimWidth - $this- fontSize; //字符串半徑 $leng = mb_strlen($this- sealString, utf8 //字符串長度 if($leng $this- strMaxLeng) $leng = $this- strMaxLeng; $avgAngle = 360 / ($this- strMaxLeng); //平均字符傾斜度 //拆分并寫入字符串 $words = array(); //字符數組 for($i=0;$i $leng;$i++){ $words[] = mb_substr($this- sealString,$i,1, utf8  $r = 630 + $this- charAngle + $avgAngle*($i - $leng/2) + $this- spacing*($i-1); //坐標角度 $R = 720 - $this- charAngle + $avgAngle*($leng-2*$i-1)/2 + $this- spacing*(1-$i); //字符角度 $x = $this- centerDot[ x ] + $this- charRadius * cos(deg2rad($r)); //字符的x坐標 $y = $this- centerDot[ y ] + $this- charRadius * sin(deg2rad($r)); //字符的y坐標 imagettftext($this- img, $this- fontSize, $R, $x, $y, $this- backGround, $this- font, $words[$i]); //畫五角星 private function drawStart(){ $ang_out = 18 + $this- startAngle; $ang_in = 56 + $this- startAngle; $rad_out = $this- startRadius; $rad_in = $rad_out * 0.382; for($i=0;$i $i++){ //五個頂點坐標 $this- points[] = $rad_out * cos(2*M_PI/5*$i - deg2rad($ang_out)) + $this- centerDot[ x  $this- points[] = $rad_out * sin(2*M_PI/5*$i - deg2rad($ang_out)) + $this- centerDot[ y  //內凹的點坐標 $this- points[] = $rad_in * cos(2*M_PI/5*($i+1) - deg2rad($ang_in)) + $this- centerDot[ x  $this- points[] = $rad_in * sin(2*M_PI/5*($i+1) - deg2rad($ang_in)) + $this- centerDot[ y  imagefilledpolygon($this- img, $this- points, 10, $this- backGround); //輸出 private function outPut(){ header( Content-type:image/png  imagepng($this- img); imagedestroy($this- img); //對外生成 public function doImg(){ $this- createImg(); $this- drawRim(); $this- drawInnerCircle(); $this- drawString(); $this- drawStart(); $this- outPut();}

方法二:

 ?php@$hos=iconv( GBK , UTF-8 , $_GET[ hos ]);if(!isset($hos))exit;$im=ImageCreate(150,150);$gray=ImageColorResolveAlpha($im,200,200,200,127);$red=ImageColorAllocate($im,230,150,150);for($i=0;$i $i++)ImageArc($im,75,75,148-$i,148-$i,0,360,$red);$stock= C:/WINDOWS/Fonts/simkai.ttf $point= ★ $size=30;ImageTTFText($im,$size,0,72-$size/2,72+$size/2,$red,$stock,$point);$a=75;$b=-75;//中心點坐標$r=65;$m=40;//半徑,角度$size=16;//字體大小$r=$r-$size;$word=array();$max=18;$count=mb_strlen($hos, utf8 if($count $max)$count=$max;if($count 12)$m=floor(360/$count);else if($count 5)$m-=$count;for($i=0;$i $count;$i++)$word[]=mb_substr($hos,$i,1, utf8 $j=floor($count/2);if($j!=$count/2) for($i=$j;$i $i--) $arc=$m*($j-$i)+$size/2; $x=round($r*cos((90+$arc)*M_PI/180))+$a; $y=-1*(round($r*sin((90+$arc)*M_PI/180))+$b); if($arc 10)$arc=0; ImageTTFText($im,$size,$arc,$x,$y,$red,$stock,$word[$i]); $arc=$m*($j-$i)-$size/2; $x=round($r*cos((90-$arc)*M_PI/180))+$a; $y=-1*(round($r*sin((90-$arc)*M_PI/180))+$b); if($arc 10)$arc=0; ImageTTFText($im,$size,-$arc,$x,$y,$red,$stock,$word[$j+$j-$i]); $j=$j-1; for($i=$j;$i $i--) $arc=$m/2+$m*($j-$i)+$size/2; $x=round($r*cos((90+$arc)*M_PI/180))+$a; $y=-1*(round($r*sin((90+$arc)*M_PI/180))+$b); ImageTTFText($im,$size,$arc,$x,$y,$red,$stock,$word[$i]); $arc=$m/2+$m*($j-$i)-$size/2; $x=round($r*cos((90-$arc)*M_PI/180))+$a; $y=-1*(round($r*sin((90-$arc)*M_PI/180))+$b); ImageTTFText($im,$size,-$arc,$x,$y,$red,$stock,$word[$j+$j+1-$i]);header( Content-Type:image/png ImagePNG($im);? 

以上就是本文的全部內容,希望對大家的學習有所幫助,更多相關內容請關注PHP !

相關推薦:

PHP二維數組按照指定的字段進行排序的實現

php 抓取網頁內容與圖片的方法

以上就是PHP實現中文圓形印章的特效的詳細內容,PHP教程

鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
欧美激情国内偷拍| 成人写真视频福利网| 亚洲欧洲免费视频| 亚洲国产精品va| 欧美国产日韩一区二区| 欧美激情第1页| 久久久久久久一区二区三区| 欧美香蕉大胸在线视频观看| 欧美在线精品免播放器视频| 久久久精品影院| 亚洲精品99久久久久中文字幕| 欧美黄色片免费观看| 国产免费久久av| 精品人伦一区二区三区蜜桃网站| 精品色蜜蜜精品视频在线观看| 伊人男人综合视频网| 国产一区私人高清影院| 欧美激情视频在线免费观看 欧美视频免费一| 国产精品天天狠天天看| 亚洲欧美日韩中文视频| 亚洲成人av资源网| 国产精品亚洲网站| 国产91亚洲精品| 亚洲一区中文字幕在线观看| 国产精品草莓在线免费观看| 亚洲综合社区网| 精品一区二区亚洲| 91精品国产91久久久久久最新| 国产精品69精品一区二区三区| 日本高清久久天堂| 日韩精品免费一线在线观看| 欧美精品电影在线| 国产一区二区三区日韩欧美| 色伦专区97中文字幕| 欧美性69xxxx肥| 欧美日韩综合视频网址| 国产成人+综合亚洲+天堂| 亚洲欧洲国产精品| 国产欧美一区二区三区四区| 日韩在线欧美在线| 精品亚洲夜色av98在线观看| 色综合影院在线| 国产婷婷97碰碰久久人人蜜臀| 日韩精品免费在线观看| 国产欧美日韩专区发布| 6080yy精品一区二区三区| 欧美激情xxxx性bbbb| 91九色蝌蚪国产| 亚洲福利影片在线| 日韩精品视频在线播放| 国产精品尤物福利片在线观看| 亚洲伊人成综合成人网| 亚洲天堂av电影| 夜夜躁日日躁狠狠久久88av| 亚洲国产精品电影| 久久成人18免费网站| 性金发美女69hd大尺寸| 97超级碰碰人国产在线观看| 91中文在线视频| 精品一区电影国产| 亲子乱一区二区三区电影| 97香蕉久久夜色精品国产| 亚洲在线观看视频网站| 欧美大片免费观看在线观看网站推荐| 中文字幕亚洲天堂| 国产日韩欧美在线观看| 日韩不卡在线观看| 欧美激情xxxx性bbbb| 中文字幕久久久av一区| 国产精品自拍视频| 91成人天堂久久成人| 亚洲免费伊人电影在线观看av| 在线成人中文字幕| 国模精品系列视频| 亚洲女人被黑人巨大进入| 97福利一区二区| 疯狂做受xxxx欧美肥白少妇| 日本免费一区二区三区视频观看| 亚洲国产精品久久久久秋霞不卡| 97av在线影院| 欧美国产视频日韩| 国产精品一区二区三区久久| 夜夜躁日日躁狠狠久久88av| 欧美亚洲国产日韩2020| 久久影视免费观看| 亚洲午夜色婷婷在线| 狠狠躁夜夜躁人人爽超碰91| 国产成人精品av| 中文字幕亚洲一区| 欧美日韩国产激情| 4388成人网| 国产精品一区二区三区免费视频| 欧美性视频在线| 78m国产成人精品视频| 欧美在线观看视频| 91精品国产91久久久久久吃药| 一区二区三区天堂av| 亚洲电影在线观看| 午夜精品一区二区三区在线视| 国产一区二区三区欧美| 国产亚洲视频在线观看| 欧美成人免费视频| 国产婷婷成人久久av免费高清| 亚洲精品美女在线| 亚洲黄色成人网| 欧美裸体xxxx极品少妇| 亚洲自拍偷拍福利| 亚洲精品女av网站| 久久视频免费观看| 久久久中文字幕| 亚洲国产精品专区久久| 亚洲女成人图区| 国产亚洲视频在线观看| 中文字幕日韩免费视频| 综合国产在线视频| 国产69久久精品成人| 在线亚洲午夜片av大片| 曰本色欧美视频在线| 亚洲香蕉在线观看| 欧美俄罗斯性视频| 国模视频一区二区三区| 亚洲第一精品久久忘忧草社区| 久久人人爽人人爽人人片av高清| 92国产精品久久久久首页| 97人人爽人人喊人人模波多| 国产成人拍精品视频午夜网站| 神马久久久久久| 亚洲自拍高清视频网站| 成人信息集中地欧美| 精品视频久久久久久久| 成人欧美在线观看| 国产一区玩具在线观看| 91日本在线视频| 午夜精品久久久久久久久久久久久| 亚洲成人国产精品| 精品丝袜一区二区三区| 日韩成人在线视频网站| 国产精品99久久久久久www| 亚洲人成绝费网站色www| 国产精品一区二区三区在线播放| 国模gogo一区二区大胆私拍| 日韩av在线网| 尤物tv国产一区| 91久久久久久久一区二区| 国产成人久久久精品一区| 久久精品青青大伊人av| 日韩黄色在线免费观看| 欧美另类在线播放| 成人午夜激情网| 欧美丰满少妇xxxx| 国产精品劲爆视频| 亚洲japanese制服美女| 久久久久久久久91| 丝袜情趣国产精品| 亚洲欧洲国产伦综合| 欧美一区视频在线| 欧美精品日韩三级| 2019中文在线观看| 国产丝袜一区二区三区免费视频| 日韩免费观看视频| 亚洲精品福利免费在线观看| 亚洲午夜未删减在线观看| 久久久精品视频在线观看| 久久久久久久999精品视频|