1. 程式人生 > >PHP合成圖片、生成文字、居中對齊、畫線、矩形、三角形、多邊形、圖片抗鋸齒、不失真 高效能原始碼示例

PHP合成圖片、生成文字、居中對齊、畫線、矩形、三角形、多邊形、圖片抗鋸齒、不失真 高效能原始碼示例

function generateImg($source, $text1, $text2, $text3, $font = './msyhbd.ttf') {
    $date = '' . date ( 'Ymd' ) . '/';
    $img = $date . md5 ( $source . $text1 . $text2 . $text3 ) . '.jpg';
    if (file_exists ( './' . $img )) {
        return $img;
    }
 
    $main = imagecreatefromjpeg ( $source
); $width = imagesx ( $main ); $height = imagesy ( $main ); $target = imagecreatetruecolor ( $width, $height ); $white = imagecolorallocate ( $target, 255, 255, 255 ); imagefill ( $target, 0, 0, $white ); imagecopyresampled ( $target, $main, 0, 0, 0, 0, $width, $height
, $width, $height ); $fontSize = 18;//畫素字型 $fontColor = imagecolorallocate ( $target, 255, 0, 0 );//字的RGB顏色 $fontBox = imagettfbbox($fontSize, 0, $font, $text1);//文字水平居中實質 imagettftext ( $target, $fontSize, 0, ceil(($width - $fontBox[2]) / 2), 190, $fontColor, $font, $text1 ); $fontBox
= imagettfbbox($fontSize, 0, $font, $text2); imagettftext ( $target, $fontSize, 0, ceil(($width - $fontBox[2]) / 2), 370, $fontColor, $font, $text2 ); $fontBox = imagettfbbox($fontSize, 0, $font, $text3); imagettftext ( $target, $fontSize, 0, ceil(($width - $fontBox[2]) / 2), 560, $fontColor, $font, $text3 ); //imageantialias($target, true);//抗鋸齒,有些PHP版本有問題,謹慎使用 imagefilledpolygon ( $target, array (10 + 0, 0 + 142, 0, 12 + 142, 20 + 0, 12 + 142), 3, $fontColor );//畫三角形 imageline($target, 100, 200, 20, 142, $fontColor);//畫線 imagefilledrectangle ( $target, 50, 100, 250, 150, $fontColor );//畫矩形 //bof of 合成圖片 $child1 = imagecreatefromjpeg ( 'http://gtms01.alicdn.com/tps/i1/T1N0pxFEhaXXXxK1nM-357-88.jpg' ); imagecopymerge ( $target, $child1, 0, 400, 0, 0, imagesx ( $child1 ), imagesy ( $child1 ), 100 ); //eof of 合成圖片 @mkdir ( './' . $date ); imagejpeg ( $target, './' . $img, 95 ); imagedestroy ( $main ); imagedestroy ( $target ); imagedestroy ( $child1 ); return $img; } //http://my.oschina.net/cart/ generateImg ( 'http://1.popular.sinaapp.com/munv/pic.jpg', 'my.oschina.net/cart', 'PHP文字水平居中', '3個字' ); exit ();

相關推薦

PHP合成圖片生成文字居中矩形三角形多邊形圖片鋸齒失真 高效能原始碼示例

function generateImg($source, $text1, $text2, $text3, $font = './msyhbd.ttf') { $date = '' . date ( 'Ymd' ) . '/'; $img = $date . md5 ( $source

div css 圖片文字上下居中

log ima 圖片 lin 效果 ges 馬克思 pos 需要 想要圖片和文字水平居中對齊很容易,可今天做這個樹的時候,遇到了要將圖片上下居中.這下就不知道怎麽搞. 拿手冊看也看不出所以然來,不同的瀏覽器對DIV的支持不一個,目前最好的瀏覽器是Firefox.

golang基礎--image/draw渲染圖片利用golang/freetype庫在圖片生成文字

文章目錄需求安裝依賴邏輯效果圖例項 需求 在一張A4紙上,利用image/draw標準庫生成4張二維碼,和該二維碼的客戶資訊 1、二維碼生成利用到的庫就是image/draw,通過draw.Draw進行寫入 2、然後字型渲染利用了golang/freetype開

Nginx負載均衡ssl原理生成ssl密鑰Nginx配置ssl

lnmp架構Nginx負載均衡當用戶訪問nginx定制好的域名時,nginx通過轉發到幾臺真實的站點,通過upstream實現[root@centos7 vhost]# vim /usr/local/nginx/conf/vhost/load.confupstream www.tt.com#自定義域名{#

linux的Nginx負載均衡ssl原理生成ssl密鑰Nginx配置ssl介紹

block server u tlsv1 host fda 彈出 配置ssl 重新編譯 openssl Nginx的負載均衡 1. 查找www.qq.com域名對應IP做測試 [root@gary-tao ~]# yum install -y bind-utils /

五十Nginx負載均衡SSL原理生成SSL密鑰Nginx配置SSL

Nginx負載均衡 SSL原理 生成SSL密鑰對 Nginx配置SSL 五十、Nginx負載均衡、ssl原理、生成ssl密鑰對、Nginx配置ssl一、Nginx負載均衡代理一臺機器叫代理,代理兩臺機器就可以叫負載均衡。 代理服務器後有多個web服務器提供服務的時候,就可以實現負載均衡

50.Nginx負載均衡ssl原理生成ssl密鑰Nginx配置ssl

Nginx負載均衡 ssl原理、 生成ssl密鑰對 Nginx配置ssl 一、Nginx負載均衡 dig www.qq.com curl -x127.0.0.1:80 www.qq.com vim /usr/local/nginx/conf/vhost/load.conf // 寫入

49次課(Nginx負載均衡ssl原理 生成ssl密鑰 Nginx配置ssl)

密碼 n) tin [] hat -- form proc adb Nginx負載均衡 查看網站ip 用qq.com的兩個ip去做負載均衡111.161.64.48 / 111.161.64.40 創建配置文件 [root@100xuni1 vhost]#

文字圖片垂直居中

讓文字和圖片垂直居中對齊(經常會用的,但是記不住的佈局。。) 給img和文字所在的父容器設定如下css即可。 1.flex佈局 .box{ display:flex; align-items: center;//子元素垂直居中 justify-cont

微信小程式圖片文字水平垂直居中解決方案

我們知道常用的居中對齊方式有很多種例如: text-align:center; align-items:center; justify-content: center; margin: auto; #子容器在父容器中居中 但是在view中的文字對齊卻不能簡單的使用text-ali

圖片文字居中的方法

如果一個盒子有2列或者3列排列,有圖片,有文字,怎麼實現文字始終對齊圖片的中間位置呢? 方法就是使用vertical-align:middle;也就是給一列都使用這個屬性,需要注意的是:這個屬性只對行內元素起作用,如果不是行內元素要加上diaplay:inli

css 圖片 文字居中

例: <li> <span class='al'> <a href="#"> <img class="p_pic" src="pic.jpg"> <span class="name"> nima

Android TextView圖文混排,圖片文字居中

TextView用來顯示文字是最普通的用法了,有些情況需要我們再文字中顯示圖片,比如顯示錶情,下邊來說說處理方法. 1.下圖是專案中一個UI需求 如圖需要在文字的前邊顯示新上標籤,開始的處理方法是用了兩個空間分別顯示標籤和文字,但是有個問題是第二行的文字

html讓同一行的文字圖片居中顯示

實現方法:css屬性->vertical-align:middle給行內的每個內容標籤都加上這個屬性(注:改屬性只對行內元素起作用,如果不是行內元素要加上diaplay:inline-block);實現效果如圖:(rem佈局)     <div class="sa

重寫Button實現圖片drawableTop和文字一起居中

很多情況下,我們需要這樣的Button。 當然是可以通過建立一個LinearLayout來擺放一個ImageView和TextView來實現。這裡就不說這種方法了。 還有一個實現方法是通過下面標籤實現:android:drawableLeft, android:drawa

HTML5利用Canvas繪製圖形(使用影象裁剪區域使用文字。陰影效果和操作素)

使用影象 在canvas中插入影象 <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>Insert title here</t

Android 解決圖文混排,圖片文字居中問題(ImageSpan)

一. 概述 眾所周知,Android圖文混排可以通過SpannableString來實現,通過在相應位置使用ImageSpan替換即可,但是使用過的人會發現,imageSpan只提供了兩種對齊方式,如下所示: /** 底部對齊

自定義ImageSpan 實現文字圖片居中

public class SpannableStringAndImageSpanActivity extends AppCompatActivity { @Override protected void onCreate(Bundle s

圖片水平垂直居中的四種做法

span log 屬性 wid 水平垂直居中 code absolute webkit 居中對齊 在前端開發中,圖片垂直居中對奇是很常見的,有些是固定高度,有些沒有固定高度,本文分享我用的四種方法,希望對你有所啟發。 以下說的做法暫不考慮IE瀏覽器的兼容性,適用於移動端 以

微信小程序文字水平垂直居中問題

attr lec -a tps .net IE auto https 簡單 我們知道常用的居中對齊方式有很多種例如: text-align:center; align-items:center; justify-content: center; margin: auto;