<?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>