| 注册
请输入搜索内容

热门搜索

Java Linux MySQL PHP JavaScript Hibernate jQuery Nginx
dy223
10年前发布

长微博生成工具PHP源码 根据文字生成长微博图片

<?php  error_reporting(7);  define('ROOT', getcwd());  define('BASEDIR', parse_url($_SERVER['REQUEST_URI'], PHP_URL_PATH));  if ($_POST['text']) {      $ret  = array();      $text = $_POST['text'];      try {          $ret['imgurl'] = text2img($text, (array) $_REQUEST['config']);      }      catch (Exception $e) {          $ret['imgurl'] = print_r($e, true);      }      echo str_replace('\\/', '/', json_encode($ret));      exit(0);  }  function text2img($text, $options = array())  {      $text .= "\n-------------------------------\n";      $text .= "http://iscup.com";      $rows      = substr_count($text, "\n") + 1;      $font_path = $options['fontfile'] ? $options['fontfile'] : ROOT . '/SIMSUN.TTC';      if (!file_exists($font_path))          throw new Exception(" 找不到字体文件:$font_path  ");      $font_size       = $options['fontsize'] ? $options['fontsize'] : 12;      $padding         = $options['padding'] ? $options['padding'] : 30;      $row_plus_height = $options['row_plus_height'] ? $options['row_plus_height'] : 4;      $border          = 1;      $im_width        = 430;      $im_height       = ($row_plus_height + ($font_size * 4) / 3) * $rows + ($padding + $border) * 2;      $im              = @imagecreatetruecolor($im_width, $im_height);      if (!$im)          throw new Exception("初始化图片失败,请检查 GD 配置");      imagefilledrectangle($im, $border, $border, ($im_width - 2 * $border), ($im_height - 2 * $border), imagecolorallocate($im, 255, 255, 255));      imagettftext($im, $font_size, 0, ($border + $padding), (($font_size * 4) / 3 + $border + $padding), imagecolorallocate($im, 0, 0, 0), $font_path, $text);      $base_path      = '/files';      $base_filename  = date("Y-m-d,H-i-s") . '.png';      $short_filename = $base_path . '/' . $base_filename;      $short_url      = rtrim(BASEDIR, '/') . $short_filename;      @mkdir(ROOT . $base_path, 0777, true);      $filename = ROOT . $short_filename;      if (!imagepng($im, $filename)) {          throw new Exception("创建图片时出错。");      }      @imagedestroy($im);      return $short_url;  }     ?>     <!DOCTYPE HTML><html><head>  <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />  <title>长微博工具</title>  <script type="text/javascript" src="http://lib.sinaapp.com/js/jquery/1.6.2/jquery.min.js"></script>  </head>  <body>  <h1>长微博工具</h1>  <p><textarea name="text" id="text" rows="20" cols="60"></textarea></p>  <pre id="pre"></pre>  <p><a target="_blank" href="" id="url"></a></p>  <p><input type="button" id="format" value="格式化" /><input type="button" id="button" value="生成长微博" /> <br/><br/><br/><br/> <a href="http://changweibo.debake.com/" style="font-size:9px; color:#666; text-decoration:none">长微博</a></p>  <script type="text/javascript">  BIG_FONT_WIDTH = 44;     function f(v,w,c){      c = 0;      w = w || BIG_FONT_WIDTH;      return v.replace(/[\S\s]/g,function(a){          if(/[\r\n]/.test(a)) {              c = -2;              return "\r\n";          }          c += /[\x00-\xFF]/.test(a) ? 1 : 2;          if(c>=w){              c = 0;              return "\r\n"+a;          }          return a;      });  }  $(function(){      $("#format").click(function(){$("#text").val(f($("#text").val()));});      $("#button").click(function(){          if($("#text").val().length<1){              alert("无内容");          } else {              $.ajax({                  type:"POST",                  url:location.pathname,                  data:"text="+$("#text").val(),                  dataType:"json",                  success:function(m){                      if(m.message)$("#pre").innerHTML(m.message);                      if(m.imgurl)$("#url").attr("href", m.imgurl).text(m.imgurl);                  }              });          }      });  });  </script>  </body>  </html>