zoukankan      html  css  js  c++  java
  • 利用php在图片上写字(中英文)

    <?php
    /*
    param $image   图象资源
    param size     字体大小
    param angle    字体输出角度
    param showX    输出位置x坐标
    param showY    输出位置y坐标
    param font    字体文件位置
    param content 要在图片里显示的内容
    */
    class showChinaText {
    	var $text = 'php网站程序开发';
    	var $font = 'fonts/simsun.ttc'; //如果没有要自己加载到相应的目录下(本地www)
    	var $angle = 0;
    	var $size = 15;
    	var $showX = 100;
    	var $showY = 160;
    	
    	var $text0 = '2011 年 12 月 12 日';
    	var $angle0 = 0;
    	var $showX0 = 230;
    	var $showY0 = 200;
    	
    	var $text1 = '新郎';
    	var $angle1 = 20;
    	var $showX1 = 135;
    	var $showY1 = 285;
    	
    	var $text2 = '新娘';
    	var $angle2 = 20;
    	var $showX2 = 300;
    	var $showY2 = 285;
    	
    	var $text3 = '北京市海淀区香格里拉酒店';
    	var $angle3 = 0;
    	var $showX3 = 120;
    	var $showY3 = 445;
    	
    	var $text4 = '上午十一点整';
    	var $angle4 = 0;
    	var $showX4 = 305;
    	var $showY4 = 480;
    	
    	function showChinaText($showText = '') {
    		$this->text = ! isset ( $showText ) ? $showText : $this->text;
    		$this->show ();
    	}
    	function createText($instring) {
    		$outstring = "";
    		$max = strlen ( $instring );
    		for($i = 0; $i < $max; $i ++) {
    			$h = ord ( $instring [$i] );
    			if ($h >= 160 && $i < $max - 1) {
    				$outstring .= substr ( $instring, $i, 2 );
    				$i ++;
    			} else {
    				$outstring .= $instring [$i];
    			}
    		}
    		return $outstring;
    	}
    	function show() {
    		//输出头内容
    		Header ( "Content-type: image/png" );
    		//建立图象
    		//$image = imagecreate(400,300);
    		$image = imagecreatefromjpeg ( "01.jpg" ); //这里的图片,换成你的图片路径
    		//定义颜色
    		$red = ImageColorAllocate ( $image, 255, 0, 0 );
    		$white = ImageColorAllocate ( $image, 255, 255, 255 );
    		$black = ImageColorAllocate ( $image, 0, 0, 0 );
    		//填充颜色
    		//ImageFilledRectangle($image,0,0,200,200,$red);
    		//显示文字
    		$txt = $this->createText ( $this->text );
    		$txt0 = $this->createText ( $this->text0 );
    		$txt1 = $this->createText ( $this->text1 );
    		$txt2 = $this->createText ( $this->text2 );
    		$txt3 = $this->createText ( $this->text3 );
    		$txt4 = $this->createText ( $this->text4 );
    		//写入文字
    		imagettftext ( $image, $this->size, $this->angle, $this->showX, $this->showY, $white, $this->font, $txt );
    		imagettftext ( $image, $this->size, $this->angle0, $this->showX0, $this->showY0, $white, $this->font, $txt0 );
    		imagettftext ( $image, $this->size, $this->angle1, $this->showX1, $this->showY1, $white, $this->font, $txt1 );
    		imagettftext ( $image, $this->size, $this->angle2, $this->showX2, $this->showY2, $white, $this->font, $txt2 );
    		imagettftext ( $image, $this->size, $this->angle3, $this->showX3, $this->showY3, $white, $this->font, $txt3 );
    		imagettftext ( $image, $this->size, $this->angle4, $this->showX4, $this->showY4, $white, $this->font, $txt4 );
    		//ImageString($image,5,50,10,$txt,$white);
    		//显示图形
    		imagejpeg ( $image );
    		imagegif ( $image, "a2.jpg" );
    		ImageDestroy ( $image );
    	}
    }
    ?>
    <?php
    
    //使用
    $s = new showChinaText ();
    ?>
    

      

  • 相关阅读:
    解决:Cuda安装后找不到安装文件目录
    学习论文:Eyeriss v1
    AOD-NET除雾算法
    学习论文AOD-Net:All-in-One Dehazing Network
    学习ResNeXt
    CentOS-7.6-ARM 离线安装部署FastDFS
    CentOS ARM离线安装部署Mysql5.6.44
    NFS+SnapShot快照式备份迁移ES索引过程
    《无限可能:快速唤醒你的学习脑》
    Oracle用sqlplus无法登陆?
  • 原文地址:https://www.cnblogs.com/caizhendong/p/5456029.html
Copyright © 2011-2022 走看看