找回密码
 加入
搜索
楼主: afan

[原创] 印章图生成 1.9

 火.. [复制链接]
发表于 2019-8-9 12:52:03 | 显示全部楼层
afan 发表于 2019-8-9 12:22
你这代码我不好改,不好理解,费劲
光看五角星就醉了,不如帮助文档搜 _GDIPlus_PathWindingModeOutline ...

谢谢!还是没认真询找帮助
发表于 2019-8-9 15:46:17 | 显示全部楼层
我是来挑刺的,afan,拖动slider时,图像会闪烁  -_~
 楼主| 发表于 2019-8-9 16:43:01 | 显示全部楼层
haijie1223 发表于 2019-8-9 15:46
我是来挑刺的,afan,拖动slider时,图像会闪烁  -_~

是滴  我在6#就说过了…
对于有底色的搞双缓冲就行了,透明的就不好搞了,图像会叠加
这个以后再解决~~
发表于 2019-8-9 23:05:09 | 显示全部楼层
五角形这个矩阵的中心点坐标怎么定位的。麻烦afan给讲解一下矩阵变换的原理。读书时,只知道用矩阵怎么解题,却不知道实际应用,惭愧啊。
发表于 2019-8-10 00:23:54 | 显示全部楼层
厉害厉害厉害
 楼主| 发表于 2019-8-10 11:58:12 | 显示全部楼层
本帖最后由 afan 于 2019-8-11 10:45 编辑
haijie1223 发表于 2019-8-9 23:05
五角形这个矩阵的中心点坐标怎么定位的。麻烦afan给讲解一下矩阵变换的原理。读书时,只知道用矩阵怎么解题 ...

五角星用矩阵求坐标没弄过,我是直接用以前写的一个3点求圆的函数直接计算的

相关代码贴在1#

矩阵我也没仔细研究,了解个大概作用就行。主要用于坐标转换,一点或多点坐标若进行偏移、缩放、旋转之后,若直接计算目标点坐标会自毙的,而用矩阵,只需简单操作一次,代入其内的所有点直接都计算好了,不要太方便。它可以直接作用于路径,亦可作用于图形对象,可按需应用。我是一知半解,了解的就这些~~ 
发表于 2019-8-10 12:03:50 | 显示全部楼层
afan 发表于 2019-8-10 11:58
五角星用矩阵求坐标没弄过,我是直接用以前写的一个3点求圆的函数直接计算的

这个画五角形的我在帮助中看到了,我是说,你那个五角形缩放时,可以有个中心点。而我测试,缩放时图形位置会变化,也就是缩放的中心点不在五角形内,你这个缩放应该是经过矩阵计算过中心点位置。
 楼主| 发表于 2019-8-10 12:07:53 | 显示全部楼层
haijie1223 发表于 2019-8-10 12:03
这个画五角形的我在帮助中看到了,我是说,你那个五角形缩放时,可以有个中心点。而我测试,缩放时图形位 ...

上面的代码就是求圆心,有圆心了不就解决了? 缩放肯定用矩阵,将矩阵基点偏移到圆心就OK了

评分

参与人数 1威望 +1 金钱 +99 贡献 +1 收起 理由
haijie1223 + 1 + 99 + 1 很给力!

查看全部评分

发表于 2019-8-10 12:25:21 | 显示全部楼层
afan 发表于 2019-8-10 12:07
上面的代码就是求圆心,有圆心了不就解决了? 缩放肯定用矩阵,将矩阵基点偏移到圆心就OK了

感谢afan解惑!
发表于 2019-8-10 12:26:15 | 显示全部楼层
afan 发表于 2019-8-10 12:07
上面的代码就是求圆心,有圆心了不就解决了? 缩放肯定用矩阵,将矩阵基点偏移到圆心就OK了

请教圆圈字是如何形成?
用:
    Local $sString = ""AU3论坛VIP认证专用章"", $aInfo
    $hGraphic = _GDIPlus_GraphicsCreateFromHWND($hGUI)
    $hBrush = _GDIPlus_BrushCreateSolid(0xFFff0000);0xFF00007F)
    $hFormat = _GDIPlus_StringFormatCreate()
    $hFamily = _GDIPlus_FontFamilyCreate("黑体");"Arial")
    $hFont = _GDIPlus_FontCreate($hFamily,26,1 ,2)
    $tLayout = _GDIPlus_RectFCreate(5, 150, 0, 0)
    $aInfo = _GDIPlus_GraphicsMeasureString($hGraphics, $sString, $hFont, $tLayout, $hFormat)
    _GDIPlus_GraphicsDrawStringEx($hGraphics, $sString, $hFont, $aInfo[0], $hFormat, $hBrush)
上面显示的是横行
如何计算:$tLayout = _GDIPlus_RectFCreate(5, 150, 0, 0)
发表于 2019-8-10 12:35:36 | 显示全部楼层
chzj589 发表于 2019-8-10 12:26
请教圆圈字是如何形成?
用:
    Local $sString = ""AU3论坛VIP认证专用章"", $aInfo

afan上面不是给代码了么,画一个圆形路径。然后应该就是向路径添加文字了。
发表于 2019-8-10 15:45:38 | 显示全部楼层
haijie1223 发表于 2019-8-10 12:35
afan上面不是给代码了么,画一个圆形路径。然后应该就是向路径添加文字了。

如何添加弧形文字,找不到北,请赐教!
发表于 2019-8-10 19:06:11 | 显示全部楼层
A版强悍啊!程序下载后总被杀掉,不知什么时候大神们解决一下啊。
发表于 2019-8-10 19:49:57 | 显示全部楼层
zmdzhxj 发表于 2019-8-10 19:06
A版强悍啊!程序下载后总被杀掉,不知什么时候大神们解决一下啊。

解决方法:
1:关闭杀毒软件
2:卸载杀毒软件
 楼主| 发表于 2019-8-10 20:53:59 | 显示全部楼层
本帖最后由 afan 于 2019-8-10 20:56 编辑
chzj589 发表于 2019-8-10 12:26
请教圆圈字是如何形成?
用:
    Local $sString = ""AU3论坛VIP认证专用章"", $aInfo

我是将字符串分解成单个字符,然后逐一字符加入路径,再将路径通过矩阵移到圆弧坐标,旋转画布后直接填充绘制路径即可
您需要登录后才可以回帖 登录 | 加入

本版积分规则

QQ|手机版|小黑屋|AUTOIT CN ( 鲁ICP备19019924号-1 )谷歌 百度

GMT+8, 2024-12-4 01:22 , Processed in 0.076058 second(s), 16 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表