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 交叉编译简介 主机,目标,交叉编译器 主机与目标 编译器是将源代码转换为可执行代码的程序.像所有程序一样,编译器运行在特定类型的计算机上,输出的新程序也运行在特定类型的计算机上. 运行编译 ...
最新文章
- 女生做软件测试需要学习什么技术?
- 【干货】2014Q4手游崩溃数据报告,iphone6第1、三星第2
- [转载] python中print()函数的用法和end=““不换行详解
- Spring 框架简介及官方压缩包目录
- 手机mt4一键平仓所有_手机一键就能提取PPT所有文字!10秒完成,这波操作好用到你害怕...
- useState用法指南
- oracle数据库十六进制转字符串,Oracle中各种进制相互转换
- 不同域名指向静态图片文件
- String的replaceAll()用法详解
- Android NDK开发如何解决logcat日志打印不全
- 如何根据经纬度查询地理位置
- 怎么把照片做成计算机主题,教你如何用自己的照片来制作win7 64位电脑主题
- mysql populate_BeanUtils.populate 的作用
- 微课--使用Python查看本机实时网速(GUI版)
- 身在北京,都有故事:九位北漂的心酸故事,只有经历过才有体会!
- 学习u3d的几个工具和文档
- Hive计算引擎大PK,万字长文解析MapRuce、Tez、Spark三大引擎
- Android 打包解析软件包时出现问题
- 井字棋小游戏代码(Visual Studio)
- 线上电商数据可以为我们带来哪些营销情报