QML 的 font 与 Canvas 的中 font
2016-05-26 00:37
399 查看
QML 的 font 与 Canvas 的中 font
QML 中的 Canvas 的 font 类型和 HTML CSS font 的类型一样,但是和 QML 本身的 font 不一样,所以需要做一个转换函数。QML 中的 font 有如下属性:
stringfont.family
boolfont.bold
boolfont.italic
boolfont.underline
realfont.pointSize
intfont.pixelSize
enumerationfont.weight
boolfont.overline
boolfont.strikeout
enumerationfont.capitalization
realfont.letterSpacing
realfont.wordSpacing
CSS font
font 简写属性在一个声明中设置所有字体属性。注释:此属性也有第六个值:”line-height”,可设置行间距。
可以按顺序设置如下属性:
font-style
font-variant
font-weight
font-size/line-height
font-family
p.ex1 { font:italic arial,sans-serif; } p.ex2 { font:italic bold 12px/30px arial,sans-serif; }
QML font 到 CSS font 的转换
font-style(规定字体样式)normal, italic(斜体), oblique(斜体),与 QML 的
font.italic对应。
font-variant(规定字体异体)
normal, small-caps ,与 QML 无对应关系,直接使用
normal
font-weight(规定字体粗细)
normal(400), bold(700), bolder(更粗), lighter(更细), 100~900,与 QML 的
font.bold以及
font.weightQML 上的 字体宽度与 CSS 对应不太一致。
font-size
与 QML 的 font.pixelSize 直接对应。
line-height
与 FontMetrics::height 对应。但是 QML 中 Canvas 的 font 不支持此属性。
font-family
与 QML font.family 对应。
font-family 可以把多个字体名称作为一个“回退”系统来保存。如果浏览器不支持第一个字体,则会尝试下一个。也就是说,font-family 属性的值是用于某个元素的字体族名称或/及类族名称的一个优先表。浏览器会使用它可识别的第一个值。
具体代码:
从 QML 到 CSS font 的转换:
FontMetrics { id: fontMetrics function getFontToContext2D() { var cssFontString = ""; if(fontMetrics.font.italic) { cssFontString += "italic "; } else { cssFontString += "normal "; } if(fontMetrics.font.bold) { cssFontString += "bold "; } else { cssFontString += "normal "; } cssFontString += (fontMetrics.font.pixelSize+"px "); // cssFontString += ("/"+fontMetrics.height+"px "); cssFontString += fontMetrics.font.family; return cssFontString; } }
CSS font 属性
相关文章推荐
- HTML5调用摄像头实例
- Canvas 在高清屏下绘制图片变模糊的解决方法
- css下margin、padding、border、background和font缩写示例
- 使用canvas实现仿新浪微博头像截取上传功能
- js+HTML5实现canvas多种颜色渐变效果的方法
- javascript+HTML5的Canvas实现Lab单车动画效果
- js+canvas绘制矩形的方法
- JavaScript+html5 canvas制作的百花齐放效果完整实例
- jQuery+canvas实现的球体平抛及颜色动态变换效果
- html5 canvas js(数字时钟)实例代码
- JavaScript+canvas实现七色板效果实例
- javascript+canvas制作九宫格小程序
- 通过javascript把图片转化为字符画
- js+html5通过canvas指定开始和结束点绘制线条的方法
- JavaScript+html5 canvas绘制的圆弧荡秋千效果完整实例
- JS+Canvas绘制时钟效果
- JS+Canvas 实现下雨下雪效果
- JavaScript+html5 canvas绘制缤纷多彩的三角形效果完整实例
- 基于canvas实现的绚丽圆圈效果完整实例
- PHP实现将HTML5中Canvas图像保存到服务器的方法