ImageMagick:获取一行文字的宽与高

double *fm = MagickQueryFontMetrics(mw_temp, dw_wand, text_utf8); //获取文字在指定字体和字号下的宽度和高度

double textWidth = fm[11]; //文本的宽度, 不 +1 右侧有些字母少一个像素不能显示

/** textHeight = fm[2] - fm[3] , 其实大部分情况下: fm[2](ascender) - fm[3](descender) = fm[6](maximum horizontal advance); 但很少时间也不一定!!!**/
/*
下面的这个参数不靠谱,不能使用:

fm[ 7][ box-x1]: -7.140625
fm[ 8][ box-y1]: -33554429.109375 (楷体, 32号字, 设置文字中含有汉字, 比如: 制作工具, 这里就显示一个非常大的负数!!!
fm[ 9][ box-x2]: 58.593750
fm[10][ box-y2]: 39.187500
*/
double textHeight = fm[2] - fm[3]; //fm[6];

/** 设置文字的重力位置, 也就是从哪个方向开始写, 这涉及到文字的定位坐标 **/
DrawSetGravity(dw_wand, SouthGravity); //设置 SouthGravity 后,就可以从 0,0 绘制文字。

时间: 2024-10-11 20:03:59

ImageMagick:获取一行文字的宽与高的相关文章

【Android】获取控件的宽和高

有时候我们须要在Activity的时候获取控件的宽和高来做一些操作,以下介绍三种获取宽和高的方式: 1. onWindowFocusChanged @Override public void onWindowFocusChanged(boolean hasFocus) { super.onWindowFocusChanged(hasFocus); if (hasFocus) { int width = image.getMeasuredWidth(); int height = image.ge

使用js如何设置、获取盒模型的宽和高

第一种: dom.style.width/height 这种方法只能获取使用内联样式的元素的宽和高. 第二种: dom.currentStyle.width/height 这种方法获取的是浏览器渲染以后的元素的宽和高,无论是用何种方式引入的css样式都可以,但只有IE浏览器支持这种写法. 第三种: window.getComputedStyle(dom).width/height 这种方法获取的也是浏览器渲染以后的元素的宽和高,但这种写法兼容性更好一些. 第四种: dom.getBounding

JS设置和获取盒模型的宽和高

dom.style.width/height:只能取出内联样式的宽度和高度 dom.currentStyle.width/height:获取即时的计算的样式,但是只有IE支持 window.getComputedStyle(dom).width:获取即时计算的样式,支持其他浏览器,兼容性更好 dom.getBoundingClientRect( ).width/height:计算盒模型在页面中的绝对位置,比较少用. dom.offsetWidth/offectHeight:返回元素实际大小 一.

JS 获取宽,高(ie未测)

1,js获取当前窗口的宽,高 alert('可见区域:' + window.innerHeight); alert('整网页高度' + document.documentElement.clientHeight); 2,js获取指定元素的宽,高 //获取指定元素的实际宽,高,带边框 console.log(document.getElementById('box').offsetHeight); console.log(document.getElementById('box').offsetW

Android查缺补漏(View篇)--在 Activity 的 onCreate() 方法中为什么获取 View 的宽和高为0?

在 Activity 的 onCreate() 方法中为什么获取 View 的宽和高为0 ? @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_my_view); myview = ViewUtils.find(this, R.id.myview); getViewSize("onCr

图片上传时获取图片的宽和高

经常会遇到图片上传的问题,这时候我们会传图片的地址,宽和高到服务器,至于图片上传就不说了,这里主要说图片上传时获取图片的原始宽和高的问题. 一般而言,我们把图片上传至服务器时,服务器会返回一个上传地址给我们,这个就是我们图片的url了,但是光有这个还是不够的,因为还要将图片的宽和高传给服务器,这时候就可以这样做了.直接上代码: var img = new Image() img.src = url 然后就可以使用img.width和img.height来获取图片的宽和高了.当然仅仅这样做是不够的

JavaScript获取当前页面的用户区宽高问题

在网页的前端开发中,我们常常会涉及到自适应宽度,也就是说我们希望页面总是满宽显示.在这个过程中为了获得更好的用户体验和跨浏览器的兼容性,我们会在不同的用户区分辨率下实时载入不同的CSS文件,当然这就涉及到获取用户区的宽度(最主要是宽度). 在javascript中,可以通过访问window.innerWidth,window.innerHeight和document.documentElement.clientWidth,document.documentElement.clientHeight

【转】获取Android控件的宽和高

我们都知道在onCreate()里面获取控件的高度是0,这是为什么呢?我们来看一下示例: 首先我们自己写一个控件,这个控件非常简单: public class MyImageView extends ImageView { public MyImageView(Context context, AttributeSet attrs) { super(context, attrs); } public MyImageView(Context context) { super(context); }

获取图片的真实宽高

获取图片高度,jq 用的是height() 获取 宽度,jq用的是width(), 不过这个是渲染后的宽高,也就是css设置后的宽高 javascript 是offsetWidth offsetHeight 同样,这个也是浏览器渲染后的大小 那如果我想获取图片原本的大小呢? 这个时候就需要用到Image对象了 请看demo1: var img_url ='mid/01.jpg'; // 创建对象 var img = new Image(); // 改变图片的src img.src = img_u