ホームページ  >  記事  >  バックエンド開発  >  テキストに基づいて長い Weibo 画像を生成するための Long Weibo 生成ツール PHP ソース コード

テキストに基づいて長い Weibo 画像を生成するための Long Weibo 生成ツール PHP ソース コード

WBOY
WBOYオリジナル
2016-07-25 08:44:291450ブラウズ
  1. error_reporting(7);
  2. define('ROOT', getcwd());
  3. define('BASEDIR', parse_url($_SERVER['REQUEST_URI'], PHP_URL_PATH));
  4. if ( $_POST['text']) {
  5. $ret = array();
  6. $text = $_POST['text'];
  7. 試してみましょう {
  8. $ret['imgurl'] = text2img($text, (array) $ _REQUEST['config']);
  9. }
  10. catch (Exception $e) {
  11. $ret['imgurl'] = print_r($e, true);
  12. }
  13. echo str_replace('\/', '/', json_encode($ret));
  14. exit(0);
  15. }
  16. function text2img($text, $options = array())
  17. {
  18. $text .= "n----------- -------------------n";
  19. $text .= "http://iscup.com";
  20. $rows = substr_count($text, "n") + 1;
  21. $font_path = $options['fontfile'] ? $options['fontfile'] : ROOT 。 '/SIMSUN.TTC';
  22. if (!file_exists($font_path))
  23. throw new Exception(" 找不到文字文件:$font_path ");
  24. $font_size = $options['fontsize'] ? $options['fontsize'] : 12;
  25. $padding = $options['padding'] ? $options['padding'] : 30;
  26. $row_plus_height = $options['row_plus_height'] ? $options['row_plus_height'] : 4;
  27. $border = 1;
  28. $im_width = 430;
  29. $im_height = ($row_plus_height + ($font_size * 4) / 3) * $rows + ($padding + $border) * 2;
  30. $im = @imagecreatetruecolor($im_width, $im_height);
  31. if (!$im)
  32. throw new Exception("初期化图片失败,请检查 GD 配置");
  33. imagefilledrectangle($im, $border, $border, ($im_width - 2 * $border), ($im_height - 2 * $border), imagecolorallocate($im, 255, 255, 255));
  34. imagettftext($im, $font_size, 0, ($border) + $padding), (($font_size * 4) / 3 + $border + $padding), imagecolorallocate($im, 0, 0, 0), $font_path, $text);
  35. $base_path = '/files';
  36. $base_filename = date("Y-m-d,H-i-s") 。 '.png';
  37. $short_filename = $base_path 。 '/' 。 $base_filename;
  38. $short_url = rtrim(BASEDIR, '/') 。 $short_filename;
  39. @mkdir(ROOT . $base_path, 0777, true);
  40. $filename = ROOT . $short_filename;
  41. if (!imagepng($im, $filename)) {
  42. throw new Exception("创建図片時出错。");
  43. }
  44. @imagedestroy($im);
  45. return $short_url;
  46. }
  47. ?>
  48. 长微博工具
  49. 长微博工具

  50. < textarea name="text" id="text" rows="20"cols="60">





  51. 长微博

  52. < /body>
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。