我最近试图将代码从这里转换为Swift。但是,无论图像如何,我都会保持白色。这是我的代码:
// Playground - noun: a place where people can play
import UIKit
extension UIImage {
func averageColor() -> UIColor {
var colorSpace = CGColorSpaceCreateDeviceRGB()
var rgba: [CGFloat] = [0,0,0,0]
var context = CGBitmapContextCreate(&rgba, 1, 1, 8, 4, colorSpace, CGBitmapInfo.fromRaw(CGImageAlphaInfo.PremultipliedLast.toRaw())!)
rgba
CGContextDrawImage(context, CGRectMake(0, 0, 1, 1), self.CGImage)
if rgba[3] > 0 {
var alpha = rgba[3] / 255
var multiplier = alpha / 255
return UIColor(red: rgba[0] * multiplier, green: rgba[1] * multiplier, blue: rgba[2] * multiplier, alpha: alpha)
} else {
return UIColor(red: rgba[0] / 255, green: rgba[1] / 255, blue: rgba[2] / 255, alpha: rgba[3] / 255)
}
}
}
var img = UIImage(data: NSData(contentsOfURL: NSURL(string: "http://upload.wikimedia.org/wikipedia/commons/c/c3/Aurora_as_seen_by_IMAGE.PNG")))
img.averageColor()
提前致谢。
问题内容: 我正在尝试使用Swift来获取UIImage中像素的颜色,但它似乎总是返回0。这是从@Minas 对此线程的回答中转换的代码: 提前致谢! 问题答案: 由于遇到了类似的问题,一些搜索将我引到了这里。您的代码工作正常。该问题可能是由您的图像引起的。 码: 发生的是此方法将从图像的CGImage中选择像素颜色。因此,请确保您选择的是正确的图像。例如,如果您的UIImage是200x200,
问题内容: 不确定是否可行,但希望编写一个脚本来返回图像的平均值或值。我知道可以在AS中完成,但希望在JavaScript中完成。 问题答案: AFAIK,做到这一点的唯一方法是… 请注意,这仅适用于相同域中的图像以及支持HTML5 canvas的浏览器:
问题内容: 我希望能够拍摄图像并找出平均颜色是多少。意思是如果图像是半黑半白,我会在两者之间得到一些…灰色阴影。它可能是最常见的单色或中间值。任何平均值都可以。 我该如何在android中做到这一点。 问题答案:
问题内容: 我无法获得熊猫列的平均值或均值。有一个数据框。我在下面尝试的任何事情都没有给我该列的平均值 以下返回几个值,而不是一个: 这样: 问题答案: 如果您只想要列的均值,请选择列(这是一个系列),然后调用:
问题内容: 假设我有下表 我想绘制这些值,但是由于我的真实表有成千上万个值,因此我考虑了获取每X行的平均值。我有什么办法可以做到这一点,即每2或4行,如下所示: 另外,是否有任何方法可以根据表中的总行数使此X值动态化?例如,如果我有1000行,则将基于每200行(1000/5)计算平均值,但是如果我有20行,则应基于每4行(20/5)计算平均值。 我知道如何以编程方式执行此操作,但是有什么方法可以
问题内容: 我有一个java.util.Date对象数组。我试图找到平均值。 例如,如果我有2个日期对象,分别是7:40 AM和7:50 AM。我应该获得7:45 AM的平均日期对象。 我正在考虑的方法效率低下: 用于遍历所有日期 找出0000与时间之间的时差 将时间差加到总计 除以总数 将该时间转换为日期对象 有更简单的功能可以做到这一点吗? 问题答案: 好的,从根本上讲,您可以将所有对象的“自