|
本帖最后由 gz13802424 于 2019-1-16 21:30 编辑
快过年了,所有很有闲,每天都在翻自己的旧代码来折腾,发现件有趣的事
_GDIPlus_GraphicsDrawImageRect($hGraphic, $hImage2, ($RelativeX + Abs($RelativeX)) / 2, ($RelativeY + Abs($RelativeY)) / 2, @DesktopWidth, @DesktopHeight)
($RelativeX + Abs($RelativeX)) / 2 这样的表达方式是还是很奇怪
但是如果换成下面这样的代码
If $RelativeX < 0 Then $RelativeX = 0
If $RelativeY < 0 Then $RelativeY = 0
这样是不是就很清楚了,原来是等效:当$RelativeX 少于 0 时$RelativeX等于0
那么回过头来看($RelativeX + Abs($RelativeX)) / 2 ,$RelativeX + $RelativeX的绝对值,如果$RelativeX为正数,那么相加后就变成了$RelativeX的2倍 ,如果$RelativeX为负数,那么相加就变成了0,最后再除以2,也正好实现了上面那么条件判断同样功能
有时候重重复复的代码堆叠,偶尔来点新奇的代表方式,是不是会让人精神为之一振呢
昨天有位大神给我了一段代码例程,我又学到一种新的表达方法
($RelativeX < 0 ? 0, $RelativeX)
总结一下当$RelativeX 少于 0 ,$RelativeX等于0,我有三种表达方法
有趣: ($RelativeX + Abs($RelativeX)) / 2
简便: ($RelativeX < 0 ? 0: $RelativeX)
易懂: If $RelativeX < 0 Then $RelativeX = 0
那么路过看贴的你,你会选择那种风格呢
|
评分
-
查看全部评分
|