ImageMagick--往图片上写文字

本文介绍了如何利用ImageMagick库在图片上添加文字,遇到的问题及解决方法,重点强调了设置字体路径的重要性,例如`image.font("./font/n021003l.pfb")`,并提到需要将字体文件放在运行目录下。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

为了在文件上写文字,话费了一天的时间,都快崩溃了,其实可以有两种写法:一种是自己实现,对指定的点进行修改像素值,一种是直接用库中的函数进行写文字;当然所有人都希望用库中的函数,既方便又好用,但是事情的发展总是不如人意,我以为我直接写一个image.annotate("abcok",Geometry("100x100"));就能实现功能,谁知道总是运行错误,调了大半天,处于崩溃边缘,于是,在Magick群里问了一下,果然有牛人给我解答,不过刚开始说的我不懂,什么是字体路径?还有就是一大串代码,一大堆英文文档。。。。好了,吐槽结束:

说重点:最重要的一个地方就是程序中:image.font("./font/n021003l.pfb");这句话。就是当时我不懂的指定字体路径。据我理解,这算是一个文字库,指定后,会把要写的文字在这里边找到对应的编码,然后显示到图片上,一般在下载的源码中,会有一个文件夹fonts(font),里边就是字体的模板,,我是把它拷贝到我的运行目录下,把这个路径指向里边的一个字体.pfb的文件。然后就可以对往图片上写文字了。

// magick_1.cpp : Defines the entry point for the console application.
//

#include "stdafx.h"
#include <Magick++.h>
#include <iostream>
#include <string>
#include <list>
//#pragma comment(lib,"ws2_32.lib")
using namespace std; 
using namespace Magick; 
#include <Windows.h>
#include <draw.h>

int main(int argc,char **argv) 
{ 
  InitializeMagick(*argv);
  Image image( "te
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值