magick++ 简介
magick++ 简介:
最近工作的杂记:
1 文字:
1.1 设置字库环境配置
export MAGICK_CONFIGURE_PATH= 某个用于搜索配置文件的下面
将相关的config文件放置到目录下面, config文件中,可以配置相关的字库文件。
http://sourceforge.net/projects/gs-fonts/files/gs-fonts/8.11 (base 35%2C GPL)/ghostscript-fonts-std-8.11.tar.gz/download
下载完解压到相应的目录。
试一下最简单的合成
string sText = argv[1];string sImgPath = argv[2];char * psImg = NULL;int iImgBufferLen = 0;int ret = LoadFile2Mem( sImgPath.c_str(), &psImg, &iImgBufferLen );assert( 0 == ret );printf("load img %s len %d\n", sImgPath.c_str(), iImgBufferLen );Magick::Blob blob( psImg, iImgBufferLen );Magick::Geometry geo(10,10);Magick::Image img;img.read( blob );Magick::NorthWestGravity style;img.annotate(sText, geo, Magick::NorthWestGravity);img.write( "text.jpg" );free( psImg ), psImg = NULL;
是可行的。
1.2. 设置字体样式,大小,颜色
字体要兼容 中文,有个比较爽的招,直接在windows下把喜欢的字体copy到你想放的目录,在程序里面指明即可。
如微软雅黑。C:\WINDOWS \Fonts\msyh.ttf
程序指定 字体如下:
outImg.label("annote");234 outImg.font( sFontPath.c_str() );235 outImg.strokeColor( Magick::Color() );236 outImg.fontPointsize( 15 ); //字体大小237 //outImg.fillColor( "light blue" ); //简单的颜色可以这样指定238 outImg.fillColor( "#052B61" ); // 用rgb 换算, 比如用color(128,128,128) 死活不行,蛋疼239 outImg.annotate( sText.c_str(), "0,+5", Magick::NorthWestGravity );240
这样基本可以实现字体样式,大小,颜色。
magick++ 简介相关推荐
- 使用cmd批处理配合image magick批量转换图片格式
直接重命名? 使用批处理可以批量重命名: ren *.jpg *.png 但是jpg和png的编码格式是不同的,这样会导致图片无法正确识别.尽管有的查看器能够打开图片,但这也是查看器自动识别了底层二进 ...
- 图像处理包magick - R版的PS - 学习笔记
生物信息学习的正确姿势 NGS系列文章包括NGS基础.在线绘图.转录组分析 (Nature重磅综述|关于RNA-seq你想知道的全在这).ChIP-seq分析 (ChIP-seq基本分析流程).单细胞 ...
- etcd 笔记(01)— etcd 简介、特点、应用场景、常用术语、分布式 CAP 理论、分布式原理
1. etcd 简介 etcd 官网定义: A highly-available key value store for shared configuration and service discov ...
- Docker学习(一)-----Docker简介与安装
一.Docker介绍 1.1什么是docker Docker是一个开源的应用容器引擎,基于Go语言并遵从Apache2.0协议开源 Docker可以让开发者打包他们的应用以及依赖包到一个轻量级,可移植 ...
- 【Spring】框架简介
[Spring]框架简介 Spring是什么 Spring是分层的Java SE/EE应用full-stack轻量级开源框架,以IOC(Inverse Of Control:反转控制)和AOP(Asp ...
- TensorRT简介
TensorRT 介绍 引用:https://arleyzhang.github.io/articles/7f4b25ce/ 1 简介 TensorRT是一个高性能的深度学习推理(Inference) ...
- 谷粒商城学习笔记——第一期:项目简介
一.项目简介 1. 项目背景 市面上有5种常见的电商模式 B2B.B2C.C2B.C2C.O2O B2B 模式(Business to Business),是指商家和商家建立的商业关系.如阿里巴巴 B ...
- 通俗易懂的Go协程的引入及GMP模型简介
本文根据Golang深入理解GPM模型加之自己的理解整理而来 Go协程的引入及GMP模型 一.协程的由来 1. 单进程操作系统 2. 多线程/多进程操作系统 3. 引入协程 二.golang对协程的处 ...
- Linux 交叉编译简介
Linux 交叉编译简介 主机,目标,交叉编译器 主机与目标 编译器是将源代码转换为可执行代码的程序.像所有程序一样,编译器运行在特定类型的计算机上,输出的新程序也运行在特定类型的计算机上. 运行编译 ...
最新文章
- 一生一世高圆圆经典台词
- HTML中form和div出现间隙以及页面居中的问题
- 【Python基础】不服不行,Python 操作 JSON 的门道也这么多~
- AI基础:深度学习论文阅读路线(127篇经典论文下载)
- TCP的几个状态(SYN/FIN/ACK/PSH/RST)
- Flutter WillPopScope 双击返回与界面退出提示
- 小林求职记(三)一上来就围绕电商系统层层提问,我太难了....
- Linux ext3默认块大小,linux – ext3 / ext4物理块大小视图
- 第一个linux驱动程序
- 使用PowerShell和T-SQL在多服务器环境中规划SQL Server备份和还原策略
- python如何在没有环境的电脑上执行_没安装python的电脑可以运行python写的程序吗 python语言编写的程...
- Bootstrap3.0学习第十一轮(输入框组)
- java servlet ajax_javaweb中ajax请求后台servlet(实例)
- [分享]N-Gage QD新手教程
- 吴恩达教授机器学习课程笔记【八】- Part 8 感知器和大间隔分类器(在线学习感知器算法错分类次数上界及其证明)
- 疯狂讲义java_《疯狂Java讲义》 1-概述
- java累积度分布,累积分布函数
- 系统进程网络流量监控软件
- UVA 11991 Easy Problem from Rujia Liu?
- Hydra(九头蛇)弱口令