• 3160阅读
  • 4回复

[讨论]QPen 的一些疑惑 [复制链接]

上一主题 下一主题
离线兵317
 

只看楼主 倒序阅读 楼主  发表于: 2016-11-30
如题,在画笔的设置里面,有设置画笔形状的类型(点划线暂不讨论),方的、圆头,比如用painter画一条直线,设置画笔宽度为10(方便查看细节),绘制出来的结果或者是长方条,或者是圆角矩形条,也即线段的两头的形状除了方的就是圆的,如果要绘制弧线的话,两头的角度能不能有什么办法达到如图所示(阴影效果忽略)的那样,两头始终保持水平?
曾经试过用路径的方式绘制如图所示那样两头水平的弧形,如果一头保持不变,另一头变长变短的话,里面涉及到的坐标位置、角度变算问题比较烦人,比如要变长一端,绘制过程中两个正方形的位置得变,起始终止点的角度得变,所以才会想到上述问题,暂无头绪,望大家给予些意见,谢谢了。
离线兵317

只看该作者 1楼 发表于: 2016-11-30
目前只想到了一个比较讨巧的笨办法,利用painter的setClipRect接口,把两端不水平的区域给剪掉,这样一端固定,另一端变长变短时,为了使得变化的一端也是水平头,就得随时变化ClipRect的高度,
离线bran_lee

只看该作者 2楼 发表于: 2016-11-30
你可以在内存里先绘制弧线到QImage或者QPixmap里,然后再矩形裁剪出来啊
当你只有锤子时,你看什么都像是钉子!
离线兵317

只看该作者 3楼 发表于: 2016-11-30
回 bran_lee 的帖子
bran_lee:你可以在内存里先绘制弧线到QImage或者QPixmap里,然后再矩形裁剪出来啊 (2016-11-30 16:46) 

嗯,这跟我所说的,好像只是性能上提升一点,其它的没什么不同了吧

只看该作者 4楼 发表于: 2016-12-15
setclippath好像是这个,手机没法给你翻文档了,你看看
ftpm
快速回复
限100 字节
 
上一个 下一个