长微博生成工具PHP源码 根据文字生成长微博图片
发布时间:2020-05-25 07:10:39 所属栏目:PHP 来源:互联网
导读:长微博生成工具PHP源码 根据文字生成长微博图片
|
下面是脚本之家 jb51.cc 通过网络收集整理的代码片段。 脚本之家小编现在分享给大家,也给大家做个参考。 <?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,($im_width - 2 * $border),($im_height - 2 * $border),imagecolorallocate($im,255,255));
imagettftext($im,$font_size,($border + $padding),(($font_size * 4) / 3 + $border + $padding),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(/[Ss]/g,function(a){
if(/[rn]/.test(a)) {
c = -2;
return "rn";
}
c += /[x00-xFF]/.test(a) ? 1 : 2;
if(c>=w){
c = 0;
return "rn"+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>
以上是脚本之家(jb51.cc)为你收集整理的全部代码内容,希望文章能够帮你解决所遇到的程序开发问题。 如果觉得脚本之家网站内容还不错,欢迎将脚本之家网站推荐给程序员好友。 (编辑:安卓应用网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
