首页 > 其他 > 网站日记>正文

帝国cms插件之标题生成标题图片

提示: 阅读权限:公开  

插件功能:帝国CMS后台通过标题自动生成标题图片。文字支持各种自定义设置,包含字体大小、字体样式、行间距、透明度、背景图片、起始坐标、文字颜色等。
插件介绍: https://www.ixigua.com/7183497231444640290   


插件特点:实时预览效果,方便调整到最佳效果。



后台,点击即可生成图片,方便预览图片。


添加了字段函数,提交后,当标题图片为空的时候,自动生成标题图片。
需要的战友,请联系qq 110102296。 
附使用说明:
进化记录:                       
20220313 添加了第二背景的相关设置
20220313 重新生成标题图片,会自动删除原来的
20220314 用户可选生成图片的格式和质量
20220722 用户可以用"{字段名}",灵活设定文字内容
20220723 增加了边框绘制功能
20220910 增加了第二文字块
20221013 优化了居中效果。更加准确的判断字符串的宽度
20221217 增加了栏目绑定功能
20221220 解决了图片水印挡住文字的bug
20221223 重新设置了参数设置界面
20221229 用户可以选择从newstext内容中提取标题图片
20230101 文字内容中可以使用php函数
20230308 图片背景文件夹默认为bgimg,可以设定不同的位置
20230309 图片保存可用自定义位置,这个时候请注意阅读 使用方法6
20230309 修正了png格式下,图片质量参数的bug
20230309 修正了图片网址返回时域名缺失
20230312 增加了动态图片和缓存功能,这个版本的售价为300米
20230513 增加了模型函数,效率可能低点,但是采集发布的时候生成图片更可靠。字段函数和模型函数调用其中之一就可以。
20230513 增加了readme菜单,前台显示本页面内容
20230528 修正了安装文件的一个小bug,使得网站地址不为‘/’时能正常访问插件菜单

帝国cms插件之由标题生成标题图片
by  jiuhecai  110102296
售价  200-300米 

使用方法:
1.解压后上传到/e/jhc/目录,如果没有请建立
2.执行 install/index.php 安装
3.拷贝以下两个函数到帝国cms的 /e/class/userfun.php

//由标题文字生成标题图片
function user_title2pic($mid,$f,$isadd,$isq,$value,$cs){
	global $public_r,$class_r,$ecms_config,$efileftp_fr;
	if($value)return $value;
    $title=$_POST;
	$classid=(int)$_POST[classid];
	$id=(int)$_POST['filepass'];
    return jhc_title2pic($classid,$id,$title,1);// 不写数据库
}	


//由标题文字生成标题图片  xiehui 0 默认 写数据库;1不写数据库
function jhc_title2pic($classid,$id,$title,$xiehui=0){
	global $public_r,$class_r,$ecms_config,$efileftp_fr,$dbtbpre,$empire;
	//处理地址
    $r[tran]=1;
	//附件地址
	//文件类型
	$r[filetype]='.jpg';
	//文件名
	$r[insertfile]=ReturnDoTranFilename($file_name,$classid);
	$r[filename]=$r[insertfile].$r[filetype];
	//日期目录
	$r[filepath]=FormatFilePath($classid,$mynewspath,0);
	$filepath=$r[filepath]?$r[filepath].'/':$r[filepath];
	//存放目录
	$fspath=ReturnFileSavePath($classid);
	$r[savepath]=eReturnEcmsMainPortPath().$fspath['filepath'].$filepath;//moreport
	//附件地址
	$r[url]=$fspath['fileurl'].$filepath.$r[filename];

	//附件文件
	$r[yname]=$r[savepath].$r[filename];
	//WriteFiletext_n($r[yname],$string);
	//imagejpeg ( $image ,$r[yname]);// 生成图片
	//imagedestroy ( $image );// 销毁图片, 释放内存
	include_once(ECMS_PATH.'e/jhc/title2pic/fun.php');
	
    $jhc=new title2pic($title,$r[yname]);
    $jhc->createPicFromTitle();
	
	
	$r[filesize]=@filesize($r[yname]);
	$r[type]=1;
	
    $r['filesize']=(int)$r['filesize'];
    $filepass=(int)$id;
    $username=getcvar('loginusername',1);;
    // eInsertFileTable($filename,$filesize,$path,$adduser,$classid,$no,$type,$id,$cjid,$fpath,$pubid,$modtype=0,$fstb=1)
    $sql=eInsertFileTable($r['filename'],$r['filesize'],$r['filepath'],$username,$classid,'[URL]'.$r['filename'],$r[type],$filepass,$filepass,$public_r['fpath'],0,0,$public_r['filedeftb']);
    if(!$xiehui){
        $tbname=$class_r[$classid]['tbname'];
        $empire->query("update {$dbtbpre}ecms_{$tbname} set titlepic='".$r['url']."' where id=$id");
    }
    return $r['url'];
}	
 

4.  您希望什么时候生成?

    4.1 后台添加文章的时候,手动生成:  管理字段,修改字段titlepic,添加代码
    <script type="text/javascript" src="/e/jhc/title2pic/js/title2pic.js"></script>
    
    4.2 后台添加或者修改文章,提交后自动生成:
     管理字段,修改字段titlepic,填写字段函数:user_title2pic
     
    4.3 模板中生成(生成的图片会写到数据库,所以仅首次调用生成,以后则不需)
         4.3.1  列表模板
            if(!$r['titlepic'])$titlepic=jhc_title2pic($r[classid],$r[id],$r[title]);
         4.3.2  内容模板
            if(!$navinfor['titlepic'])$titlepic=jhc_title2pic($navinfor[classid],$navinfor[id],$navinfor[title]);
         4.3.3 灵动标签
            if(!$bqr['titlepic'])$titlepic=jhc_title2pic($bqr[classid],$bqr[id],$bqr[title]);

附:图片展览








上一篇:帝国cms用户上传文件名的命名规则及修改方法

下一篇:帝国cms二开函数库

tags: 插件

返回首页

相关

热门

站内直通车

[!--temp.bottomnav--]
返回顶部