一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

服務(wù)器之家:專注于服務(wù)器技術(shù)及軟件下載分享
分類導(dǎo)航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術(shù)|正則表達(dá)式|C/C++|IOS|C#|Swift|Android|VB|R語言|JavaScript|易語言|vb.net|

服務(wù)器之家 - 編程語言 - PHP教程 - php實(shí)現(xiàn)背景圖上添加圓形logo圖標(biāo)的方法

php實(shí)現(xiàn)背景圖上添加圓形logo圖標(biāo)的方法

2021-03-27 17:35栁羅風(fēng)塵 PHP教程

這篇文章主要介紹了php實(shí)現(xiàn)背景圖上添加圓形logo圖標(biāo)的方法,結(jié)合實(shí)例形式較為詳細(xì)的分析了php背景圖添加logo圖標(biāo)的操作步驟與具體實(shí)現(xiàn)技巧,需要的朋友可以參考下

本文實(shí)例講述了php實(shí)現(xiàn)背景圖上添加圓形logo圖標(biāo)的方法。分享給大家供大家參考,具體如下:

說一下步驟:

總共分 3 步:

1. 壓縮logo 成固定大小的方形圖片
2. 將logo 轉(zhuǎn)成圓形logo
3. 將logo與背景圖合并

廢話不多說,直接上代碼:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
<?php
/**
 * 作者:friker
 * 開發(fā)時(shí)間:20160516
 * 功能:圖片處理
 *
 */
class ImageController extends CI_Controller{
  public function __construct()
  {
    parent::__construct();
    date_default_timezone_set('Asia/Shanghai');
    error_reporting( E_ALL&~E_NOTICE&~E_WARNING);
    $this->load->library('curl');
  }
  /**
   * @todo : 本函數(shù)用于 將方形的圖片壓縮后
   *     再裁減成圓形 做成logo
   *     與背景圖合并
   * @return 返回url
   */
  public function index(){
    //頭像
    $headimgurl = 'a.jpg';
    //背景圖
    $bgurl = './aa.png';
    $imgs['dst'] = $bgurl;
    //第一步 壓縮圖片
    $imggzip = $this->resize_img($headimgurl);
    //第二步 裁減成圓角圖片
    $imgs['src'] = $this->test($imggzip);
    //第三步 合并圖片
    $dest = $this->mergerImg($imgs);
  }
  public function resize_img($url,$path='./'){
    $imgname = $path.uniqid().'.jpg';
    $file = $url;
    list($width, $height) = getimagesize($file); //獲取原圖尺寸
    $percent = (110/$width);
    //縮放尺寸
    $newwidth = $width * $percent;
    $newheight = $height * $percent;
    $src_im = imagecreatefromjpeg($file);
    $dst_im = imagecreatetruecolor($newwidth, $newheight);
    imagecopyresized($dst_im, $src_im, 0, 0, 0, 0, $newwidth, $newheight, $width, $height);
    imagejpeg($dst_im, $imgname); //輸出壓縮后的圖片
    imagedestroy($dst_im);
    imagedestroy($src_im);
    return $imgname;
  }
  //第一步生成圓角圖片
  public function test($url,$path='./'){
    $w = 110; $h=110; // original size
    $original_path= $url;
    $dest_path = $path.uniqid().'.png';
    $src = imagecreatefromstring(file_get_contents($original_path));
    $newpic = imagecreatetruecolor($w,$h);
    imagealphablending($newpic,false);
    $transparent = imagecolorallocatealpha($newpic, 0, 0, 0, 127);
    $r=$w/2;
    for($x=0;$x<$w;$x++)
      for($y=0;$y<$h;$y++){
        $c = imagecolorat($src,$x,$y);
        $_x = $x - $w/2;
        $_y = $y - $h/2;
        if((($_x*$_x) + ($_y*$_y)) < ($r*$r)){
          imagesetpixel($newpic,$x,$y,$c);
        }else{
          imagesetpixel($newpic,$x,$y,$transparent);
        }
      }
    imagesavealpha($newpic, true);
    // header('Content-Type: image/png');
    imagepng($newpic, $dest_path);
    imagedestroy($newpic);
    imagedestroy($src);
    unlink($url);
    return $dest_path;
  }
  //php 合并圖片
  public function mergerImg($imgs,$path='./') {
    $imgname = $path.rand(1000,9999).uniqid().'.jpg';
    list($max_width, $max_height) = getimagesize($imgs['dst']);
    $dests = imagecreatetruecolor($max_width, $max_height);
    $dst_im = imagecreatefrompng($imgs['dst']);
    imagecopy($dests,$dst_im,0,0,0,0,$max_width,$max_height);
    imagedestroy($dst_im);
    $src_im = imagecreatefrompng($imgs['src']);
    $src_info = getimagesize($imgs['src']);
    imagecopy($dests,$src_im,270,202,0,0,$src_info[0],$src_info[1]);
    imagedestroy($src_im);
    // var_dump($imgs);exit;
    // header("Content-type: image/jpeg");
    imagejpeg($dests,$imgname);
    // unlink($imgs['dst']);
    unlink($imgs['src']);
    return $imgname;
  }
}

結(jié)果展示:

php實(shí)現(xiàn)背景圖上添加圓形logo圖標(biāo)的方法

希望本文所述對(duì)大家PHP程序設(shè)計(jì)有所幫助。

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 男人疯狂进女人下部视频动漫 | 30分钟的高清视频在线观看 | 性色老女人 | 午夜大片在线观看 | 国产精品青青青高清在线密亚 | 国产在线成人精品 | 深夜福利一区 | 无人区在线观看免费完整版免费 | 日本护士撒尿xxxx18 | 国产精品久久国产精品99 | 亚洲成人黄色网址 | 国产999在线观看 | www.好吊操| 日韩免费高清完整版 | 草草线在成年免费视频网站 | 成人18网址在线观看 | 欧美丰满大乳大屁在线观看股 | 欧美性一级交视频 | 美女扒开肌肌让男人桶 | 国产成人精品一区二三区在线观看 | 国产91无毒不卡在线观看 | 爱欲荡漾在线观看 | 欧美精品黑人巨大在线播放 | 春光乍泄在线 | 日本老头4569gay| 精品国产91高清在线观看 | 国产欧美va欧美va香蕉在线观看 | 亚洲天堂男人天堂 | 国产高清视频免费最新在线 | 亚洲高清视频在线观看 | 91视频破解版 | 草莓香蕉榴莲丝瓜秋葵绿巨人在线看 | 俄罗斯美女破苞 | 四虎精品视频在线永久免费观看 | 国产人成精品午夜在线观看 | 精品一产品大全 | 亚洲欧美日韩久久一区 | 欧美日韩1区 | 国产成人亚洲精品乱码在线观看 | 日本无卡视频 | 黄 在线播放|