为什么 MacBook Pro 可以迅速反转屏幕的颜色?

昨天想制作以下这张图片,结果用 GIMP 反转颜色,大概用了几秒钟。而 Mac 上要是按 Ctrl+Option(Alt)+Command+8 可以直…
关注者
15
被浏览
11,269

5 个回答

没有原图,我只是用了你这张图像,自己写了个反色程序。

用的是C#,使用Framework里Bitmap的GetPixel和SetPixel函数,中间还用了一个多余的变量。通过遍历整张图像算出每个像素再写回去。这应该是最慢的算法了,没有任何优化。处理整张图像需要不到2秒的时间。

不知道GIMP用的是什么方法,不过应该不会比这个慢吧。

其实也都是要运算的。不过你如果全屏幕反色的话相当于把整个显卡输出的内容全反了。这个要比单纯用GIMP处理一个屏幕那么大的图像快得多。

另外,进行比较的时候你应该用PhotoShop和GIMP对比,比较的时候至少要保证是同种东西吧。

更新:

由于反色相当于把RGB分量都做一次减法。比如原始红色分量R,反色后就是255-R。如果数据以8位二进制存储的话,无符号整数范围就是0-255 。这个操作就相当于全部数据按位取反,这在计算机里面是最基本而且速度最快的运算之一。

之所以全屏反色非常快,是因为他要处理的情况相比单纯图像处理来说非常简单。这种运算方式如果系统支持那么都是非常非常快的。

应该是改变了显示描述文件,所以不需要运算。

你可以试试在反转颜色下截图,发出去还是正常颜色的图。