Java的setFilterBitmap等效于Objective-C

时间:2011-09-07 16:38:48

标签: java objective-c bitmap

我有一个NSBitmapImageRep并尝试使用类似的设置像素:

[imageRep setColor:color atX:point y:val]

它绘制得很好,但我想设置颜色,使其与相邻像素混合(C#默认使用它,而在Java中可以通过setFilterBitmap(true)完成。

2 个答案:

答案 0 :(得分:2)

setFilterBitmap设置在缩放或旋转时要过滤的位图。它本身对像素没有任何影响。如果您以原始分辨率显示受影响的drawable并且没有旋转,则每个像素将与您最初设置的颜色1:1对应。

Cocoa等价物将是使用图层支持的视图(特别参见setWantsLayer:,我忘记了现在默认的Interface Builder所做的事情)。这将为您的视图提供可通过CALayer属性访问的关联layer对象。那些有放大和缩小过滤器,您会注意到magnificationFilter的默认值是kCAFilterLinear,它应该与您提到的Java属性具有相同的效果。

您应该直接操作图层的transform属性来调整图层与视图分开合成的方式。

答案 1 :(得分:1)

像素是图像的基本单位 - 你无法真正将它们混合在一起。您可以手动选择颜色,以便相邻像素相似或之后应用过滤器。看看Core Image Filters