我想画一个基于视图的应用程序的屏幕上的UIColor,我试图这样做使用HSB。在这种情况下,使用HSB是绝对必要的。我可以用0.0f到0.75f的任何S值创建一个UIColor对象,但过去数值变化对显示的实际饱和度没有影响。我需要它是1.0f,但它仍然使用0.75f。关于它为什么这样做的任何想法,以及我如何才能使其工作?iPad的UIColor饱和问题
回答
经过一番实验,我发现我的问题是。
我正在使用for循环在视图中绘制单像素线,每个线的色调值都大于前一个。我这样做是为了创建一个用于拾色器的色谱。
我的问题出现是因为我使用CGContext路径而不是rects来执行绘图。默认情况下,路径使用像素“跨越”创建的路径。因为我将宽度设置为1,所以CoreGraphics被迫在像素之间平均,产生了去饱和效果。将宽度设置为2可正确设置饱和度,但谱图的梯度不再平滑。
我对此问题的解决方法是使用rects而不是路径。他们没有混合像素,饱和度问题是固定的。
HSB色域仅比RGB色域大。因此,色域外剪辑。 – 2011-05-07 20:57:06
由于它的工作原理,+ (UIColor *)colorWithHue:(CGFloat)hue saturation:(CGFloat)saturation brightness:(CGFloat)brightness alpha:(CGFloat)alpha
实际上并未在内部使用HSBA值;它仅仅是设备RGB色彩空间的包装。
我认为在极端情况下,恒定的H/B/A + a .75-1 S产生的颜色会略微有点不同,但它会变得难以察觉,尽管颜色分量被数字跟踪为非常精确彩车。随着饱和度下降,“可用”颜色的数量减少(因为显示屏只能显示多种颜色,降低饱和度会压缩可用颜色),碰撞的机会就会增加。
鉴于您的场景使用H0-1,B1,A1颜色,这几乎使我的假设无效,所以我很好奇并做了一个测试项目;颜色然而工作正确。我使用的是iOS 4 SDK GM,所以如果我们知道您正在使用哪个SDK,它可能会有所帮助。
我也使用GM 4.0 SDK。 – 2010-06-14 03:31:13
这变得更加有趣。我们可以看看你的代码的那部分? – 2010-06-14 03:52:08
对不起,我现在想通了。看到我的答案。 – 2010-06-14 04:46:44
- 1. 如何修改UIColor的色调,亮度和饱和度?
- 2. 如何从UIColor中获得色调,饱和度和亮度?
- 3. 的UIColor getHue:饱和度:亮度:阿尔法:返回NO
- 4. 3-CNF-饱和与扭曲问题
- 5. UIColor饱和度亮度值与颜色的常规饱和度亮度值不同
- 6. UIColor内存泄漏问题
- 7. 阵列的UIColor标问题的
- 8. iPad viewWillAppear和presentModalViewController问题
- 9. Fancybox和mcustomscrollbar ipad问题
- 10. iPad和内存问题
- 11. 是否有将UIColor转换为色相饱和度亮度的功能?
- 12. 问题顺带的UIColor预设值
- 13. 我的UIColor代码有什么问题?
- 14. UIColor * clr = [UIColor colorWithRed:1.0 green:1.0 blue:1.0 alpha:1.0]有什么问题;?
- 15. iPad的UISPlitViewController问题
- 16. 与UIFont和UIColor相关的新手问题
- 17. iScroll ipad问题
- 18. mpmovieplayercontroller问题ipad
- 19. iPad popup问题
- 20. iPad UIImagePicker问题!
- 21. ReadWriteLock writelock饱和
- 22. iPad和iPhone的方向问题
- 23. iPad的:问题在横向和纵向
- 24. 菜单和子菜单的iPad问题
- 25. iPad和iPhone的方向问题
- 26. 问题的UIActionSheet和iPad键盘
- 27. 图片问题的iPad - 内存问题
- 28. Ipad的ShareKit的UIActionsheet问题
- 29. 的UIImagePickerController iPad的问题
- 30. ipad:方向问题
您是否测量过RGB值不正确,还是仅仅依赖它的外观? – 2010-06-12 00:14:04
我测量了这些值,它们确实是不正确的。 – 2010-06-12 03:47:46
你使用的色调和亮度是多少? – kennytm 2010-06-12 05:59:27