首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何处理ColorMatrix溢出?

如何处理ColorMatrix溢出?
EN

Stack Overflow用户
提问于 2009-02-24 02:35:21
回答 1查看 362关注 0票数 2

在开始之前,我使用的是C#。我想用ColorMatrix类做一些转换。问题是,有时r、g或b会发生溢出。矩阵不是将值限制在255,而是循环并再次从0开始。这意味着,对于本应全白的图像,它们又开始变黑了。我正在使用它来模拟不同线速的行扫描相机的强度。有没有人知道解决这个问题的方法?

顺便说一句,我脑海中确实有其他方法,我可以自己做矩阵变换,但我更感兴趣的是这个特定问题的解决方案(如果有解决方案的话)。

EN

回答 1

Stack Overflow用户

发布于 2009-02-24 10:00:41

我也遇到过这个问题,如果有人知道解决方法就好了。我采取了一些丑陋的变通办法,比如:

代码语言:javascript
复制
        float[][] matrixContrastFix =
        {
            new float[] {    1,     0,     0, 0, 0},
            new float[] {    0,     1,     0, 0, 0},
            new float[] {    0,     0,     1, 0, 0},
            new float[] {    0,     0,     0, 1, 0}, 
            new float[] {-.05f, -.05f, -.05f, 0, 1}
        };

(我将许多ColorMatrixes相乘,最终得到这些东西。)

但我猜你指的是其他方法,使用.LockBits并自己做可能会更好。

希望你能得到比我更好的答案!

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/580244

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档