测试发现:

ImageMagick使用中文字体,在图片上绘制带粗或斜体的中文,看不到效果。

如果使用英文字体,绘制粗或斜体的英文,99%都有效果。

今天无意看到一篇文章提到:

convert -list font 获得系统目前拥有的字体的列表,其中glyphs一项是字体的文件。
 
试了一下,果然能列出所有的字体。
 
但和windows的字体选择对话框一对比,郁闷了。
 
比如windows的字体选择对话框里显示“宋体”和“新宋体”。
 
但在 convert -list font 列出来的是:
 
  Font: 宋体-&-新宋体
  family: 宋体 & 新宋体
  style: Normal
  stretch: Normal
  weight: 400
  glyphs: c:\windows\fonts\simsun.ttc
 
 ----------------------------------------------------------------------------------------
 
从下面的字体列表中也能看出来,为什么用中文字体看,设置了粗斜体也没有效果了。 
 

Font: Arial
  family: Arial
  style: Normal
  stretch: Normal
  weight: 400
  glyphs: c:\windows\fonts\arial.ttf
Font: Arial-Black
  family: Arial
  style: Normal
  stretch: Normal
  weight: 900
  glyphs: c:\windows\fonts\ariblk.ttf
Font: Arial-Bold
  family: Arial
  style: Normal
  stretch: Normal
  weight: 700
  glyphs: c:\windows\fonts\arialbd.ttf
Font: Arial-Bold-Italic
  family: Arial
  style: Italic
  stretch: Normal
  weight: 700
  glyphs: c:\windows\fonts\arialbi.ttf
Font: Arial-Italic
  family: Arial
  style: Italic
  stretch: Normal
  weight: 400
  glyphs: c:\windows\fonts\ariali.ttf
Font: Arial-Narrow
  family: Arial Narrow
  style: Normal
  stretch: Normal
  weight: 400
  glyphs: c:\windows\fonts\arialn.ttf
Font: Arial-Narrow-Bold
  family: Arial Narrow
  style: Normal
  stretch: Normal
  weight: 700
  glyphs: c:\windows\fonts\arialnb.ttf
Font: Arial-Narrow-Bold-Italic
  family: Arial Narrow
  style: Italic
  stretch: Normal
  weight: 700
  glyphs: c:\windows\fonts\arialnbi.ttf
Font: Arial-Narrow-Italic
  family: Arial Narrow
  style: Italic
  stretch: Normal
  weight: 400
  glyphs: c:\windows\fonts\arialni.ttf

Font: 華康正顏楷體W7-&-華康正顏楷體W7(P)
  family: 華康正顏楷體W7 & 華康正顏楷體W7(P)
  style: Normal
  stretch: Normal
  weight: 400
  glyphs: c:\windows\fonts\萢康正顏楷體w7.ttc
Font: 宋体-&-新宋体
  family: 宋体 & 新宋体
  style: Normal
  stretch: Normal
  weight: 400
  glyphs: c:\windows\fonts\simsun.ttc
Font: 苏新诗卵石体
  family: 苏新诗卵石体
  style: Normal
  stretch: Normal
  weight: 400
  glyphs: c:\windows\fonts\苏新诗卵石体.ttf

2012-10-08

使用ImageMagick 在图片上绘制粗斜体的中文也许是一个错误。的更多相关文章

  1. Android 使用Canvas在图片上绘制文字

    一个小应用,在图片上绘制文字,以下是绘制文字的方法,并且能够实现自动换行,字体自动适配屏幕大小 private void drawNewBitmap(ImageView imageView, Stri ...

  2. Golang 图片上绘制文字

    之前介绍过使用 FreeType-go 来绘制字(http://www.cnblogs.com/ghj1976/p/3445568.html),  现在相关的包被做了整合,主要是整合到了 github ...

  3. Swift - 给图片添加图片水印(图片上绘制另一张图,并可设透明度)

    我前面写了篇文章讲解如何给图片添加文字水印,而如果想要添加图片类型的水印也很简单,只要把原来代码里添加文字的部分改成图片即可. 1,效果图如下: (在图片左上角添加了一个半透明的logo图片) 2,为 ...

  4. 如何用 matlab 在图片上绘制矩形框 和 添加文字 ?

    如何给图像添加矩形框?以及添加想要输入的文字 ? 案例程序,如下所示: clc; close all; clear all;image = imread('/home/wangxiao/Picture ...

  5. c#图片上绘制半透明矩形

    p.CreateGraphics().FillRectangle( ,Color.LightGreen)), iLeft, iTop, iRight - iLeft, iBottom - iTop); ...

  6. winfrom在图片上实现绘制

    在控件加载入图片的基础上进行绘制内容 添加文字 首先就是要确定输入的文字,还有文字的样式. 文字的样式用到了FontDialog控件,获取文字呢,就放个textbox就可以了.如果在输入文字的显示展示 ...

  7. android 加载自定义图片并在图片上绘图

    来源:毕设 关键词:Bitmap Canvas //毕设中需要自定义室内地图,并且在地图上绘制轨迹 //此处是一个测试Demo,实现图片的加载和记录手指在屏幕上的运动轨迹 图片的载入 使用系统提供的内 ...

  8. PHP实现多图片上传

    PHP实现多图片上传 今天在工作中遇到了一个需求:一个表单实现多个上传图片,类似于QQ空间上传照片的模式.即:可以一次性上传多个图片,但是封面图片只有一个. 最先,最重要的事,在服务器上对文件进行读写 ...

  9. 从web编辑器 UEditor 中单独提取图片上传,包含多图片单图片上传以及在线涂鸦功能

    UEditor是由百度web前端研发部开发所见即所得富文本web编辑器,具有轻量,可定制,注重用户体验等特点,开源基于MIT协议,允许自由使用和修改代码.(抄的...) UEditor是非常好用的富文 ...

随机推荐

  1. JAVA 静态方法和实例方法的区别 (图表)

    静态方法和实例方法的区别主要体现在两个方面:   在外部调用静态方法时,可以使用"类名.方法名"的方式,也可以使用"对象名.方法名"的方式.而实例方法只有后面这 ...

  2. 5、Docker网络配置(单机)

    一.概述 以下内容参考:https://docs.docker.com/network/#network-drivers Docker容器和服务如此强大的原因之一是您可以将它们连接在一起,或者将它们连 ...

  3. kafka0.8--0.11各个版本特性预览介绍

    kafka-0.8.2 新特性 producer不再区分同步(sync)和异步方式(async),所有的请求以异步方式发送,这样提升了客户端效率.producer请求会返回一个应答对象,包括偏移量或者 ...

  4. python list的一个面试题

    面试题''' 一个list,里面的数字偶数在左边,奇数在右边,不借助其他列表 ''' def userlist(add_list): if type(add_list)==list: if len(a ...

  5. Catlike学习笔记(1.1)-使用Unity实现一个钟表

    最近发现『Catlike系列教程』觉得内容真的很赞,感觉有很多地方涉及到了我的知识盲点,如果真的可以照着做下来一遍的话应该收获颇丰.因为教程很长所以逐字翻译不太可能了(主要是翻译的太差).基本上就是把 ...

  6. Go实现Pow工作量证明

    之前使用python编写了一段代码实现了工作量证明机制,近期由于参与以太坊智能合约开发钱包的工作接触到golang语言,所以借此以go来实现Pow(Proof of work). 实现代码如下: // ...

  7. EOS开发基础之一:源代码下载与开发环境搭建

    区块链最近挺火的,我又是个非常缺钱的人,所以紧跟了潮流一头扎进区块链的研究中. 这EOS项目是目前比较火的一个项目,相信很多朋友拿到这份EOS的源代码后都会一脸懵逼,因为……这代码写得太高级了,老纸看 ...

  8. Git多人协作工作流程

    前言 之前一直把Git当做个人版本控制的工具使用,现在由于工作需要,需要多人协作维护文档,所以去简单了解了下Git多人协作的工作流程,发现还真的很多讲解的,而且大神也已经讲解得很清楚了,这里就做一个简 ...

  9. D. Vasya and Arrays

    链接 [http://codeforces.com/contest/1036/problem/D] 题意 给你两个数组长度分别为n,m; 有这么一种操作,用某个数组的某个子区间元素之和代替这个子区间, ...

  10. javascript 函数的几种声明函数以及应用环境

    本页只列出常用的几种方式,当然还有比如new Function()以及下面三种的组合. 1.函数式声明 例子:function sum(a,b){ return a+b; }; 2.函数表达式声明(匿 ...