-
php生成艺术字体图片水印代码
- //adv0.jpg就是背景图片,注意函数与图片格式对应
- $im = imagecreatefromjpeg('/www/law/images/demo/adv0.jpg');
- $font_color = imagecolorallocate ($im, 0, 250, 10); //这是文字颜色,绿色
- $text = "张三的博客"; //文字内容
- $font_file = "/www/font/hyi_xkj.ttf"; //字体的linux绝对路径
- //26:字体, 0 是角度, 10,36是坐标, $font_color是文字色, font是字体, 文本是填入的文字
- imagettftext($im, 26,0, 10, 36, $font_color ,$font_file, $text); 往图片插入文字
- // output image
- header ('content-type: image/png'); //即便是从jpg拷贝的图片,也能以png输出,
- imagepng ($im);
- // clean up
- imagedestroy($im);
- //生成水印方法二,代码如下:
- public final class imageutils {
- public imageutils() {
- }
- public final static string getpressimgpath(){
- return applicationcontext.getrealpath("/template/data/util/shuiyin.gif");
- }
- /**
- * 把图片印刷到图片上
- * @param pressimg -- 水印文件
- * @param targetimg -- 目标文件
- * @param x
- * @param y
- */
- public final static void pressimage(string pressimg, string targetimg, int x, int y) {
- try {
- file _file = new file(targetimg);
- image src = imageio.read(_file);
- int wideth = src.getwidth(null);
- int height = src.getheight(null);
- bufferedimage image = new bufferedimage(wideth, height,
- bufferedimage.type_int_rgb);
- graphics g = image.creategraphics();
- g.drawimage(src, 0, 0, wideth, height, null);
- // 水印文件
- file _filebiao = new file(pressimg);
- image src_biao = imageio.read(_filebiao);
- int wideth_biao = src_biao.getwidth(null);
- int height_biao = src_biao.getheight(null);
- g.drawimage(src_biao, wideth - wideth_biao - x, height - height_biao -y, wideth_biao,
- height_biao, null);
- // /
- g.dispose();
- fileoutputstream out = new fileoutputstream(targetimg);
- jpegimageencoder encoder = jpegcodec.createjpegencoder(out);
- encoder.encode(image);
- out.close();
- } catch (exception e) {
- e.printstacktrace();
- }
- }
- /**
- * 打印文字水印图片
- * @param presstext --文字
- * @param targetimg -- 目标图片
- * @param fontname -- 字体名
- * @param fontstyle -- 字体样式
- * @param color -- 字体颜色
- * @param fontsize -- 字体大小
- * @param x -- 偏移量
- * @param y
- */
- public static void presstext(string presstext, string targetimg, string fontname,int fontstyle, int color, int fontsize, int x, int y) {
- try {
- file _file = new file(targetimg);
- image src = imageio.read(_file);
- int wideth = src.getwidth(null);
- int height = src.getheight(null);
- bufferedimage image = new bufferedimage(wideth, height,
- bufferedimage.type_int_rgb);
- graphics g = image.creategraphics();
- g.drawimage(src, 0, 0, wideth, height, null);
- // string s=www.111cn.net;
- g.setcolor(color.red);
- g.setfont(new font(fontname, fontstyle, fontsize));
- g.drawstring(presstext, wideth - fontsize - x, height - fontsize/2 - y);
- g.dispose();
- fileoutputstream out = new fileoutputstream(targetimg);
- jpegimageencoder encoder = jpegcodec.createjpegencoder(out);
- encoder.encode(image);
- out.close();
- } catch (exception e) {
- system.out.println(e);
- }
- }
- //开源代码phpfensi.com
- public static void main(string[] args) {
- pressimage("c:/shuiyin/shuiyin.gif", "c:/shuiyin/dsc02342.jpg", 20 ,20);
- }
- }
原文链接:http://www.phpfensi.com/php/20140819/4475.html
栏目列表
最新更新
nodejs爬虫
Python正则表达式完全指南
爬取豆瓣Top250图书数据
shp 地图文件批量添加字段
爬虫小试牛刀(爬取学校通知公告)
【python基础】函数-初识函数
【python基础】函数-返回值
HTTP请求:requests模块基础使用必知必会
Python初学者友好丨详解参数传递类型
如何有效管理爬虫流量?
SQL SERVER中递归
2个场景实例讲解GaussDB(DWS)基表统计信息估
常用的 SQL Server 关键字及其含义
动手分析SQL Server中的事务中使用的锁
openGauss内核分析:SQL by pass & 经典执行
一招教你如何高效批量导入与更新数据
天天写SQL,这些神奇的特性你知道吗?
openGauss内核分析:执行计划生成
[IM002]Navicat ODBC驱动器管理器 未发现数据
初入Sql Server 之 存储过程的简单使用
这是目前我见过最好的跨域解决方案!
减少回流与重绘
减少回流与重绘
如何使用KrpanoToolJS在浏览器切图
performance.now() 与 Date.now() 对比
一款纯 JS 实现的轻量化图片编辑器
关于开发 VS Code 插件遇到的 workbench.scm.
前端设计模式——观察者模式
前端设计模式——中介者模式
创建型-原型模式