标签: uiimage

远距离颜色检测 (Swift)

有人可以通过远处的颜色检测将我指向正确的方向吗?我使用了下面的代码,如果对象或兴趣点距离不到 10 英尺,它会正确抓取图像的 RBG 值。当对象距离较远时,代码返回错误值。我想拍摄距离大于 10 英尺的物体的照片并检测该图像的颜色。

 //On the top of your swift 
  extension UIImage {
  func getPixelColor(pos: CGPoint) -> UIColor {

      let pixelData = CGDataProviderCopyData(CGImageGetDataProvider(self.CGImage))
      let data: UnsafePointer<UInt8> = CFDataGetBytePtr(pixelData)

      let pixelInfo: Int = ((Int(self.size.width) * Int(pos.y)) + Int(pos.x)) * 4

      let r = CGFloat(data[pixelInfo]) / CGFloat(255.0)
      let g = CGFloat(data[pixelInfo+1]) / CGFloat(255.0)
      let b = CGFloat(data[pixelInfo+2]) / CGFloat(255.0)
      let a = CGFloat(data[pixelInfo+3]) / CGFloat(255.0)

      return UIColor(red: r, green: g, blue: b, alpha: a)
  }  
  }
Run Code Online (Sandbox Code Playgroud)

rgb colors uiimage ios swift

1
推荐指数
1
解决办法
2246
查看次数

UIButton 不改变图像

我正在尝试为我的应用创建一个“喜欢”按钮。当我按下按钮时,我想让它变成第二张图像,当我再次按下它时,我又把它改回第一张图像。

这是我的代码:

@IBAction func sendLike(sender: UIButton) {

    if let _ = UIImage(named:"pinkLike.png") {
        sender.setImage(UIImage(named:"like.png"), forState: .Normal)
    }

    if let _ = UIImage(named:"like.png") {
        sender.setImage(UIImage(named:"pinkLike.png"), forState: .Normal)
    }
}
Run Code Online (Sandbox Code Playgroud)

出于某种原因,这行代码按我希望的方式工作:

if let _ = UIImage(named:"like.png") {
        sender.setImage(UIImage(named:"pinkLike.png"), forState: .Normal)
    }
Run Code Online (Sandbox Code Playgroud)

但是当我再次按下按钮时,这条线不会改变它:

if let _ = UIImage(named:"pinkLike.png") {
        sender.setImage(UIImage(named:"like.png"), forState: .Normal)
    }
Run Code Online (Sandbox Code Playgroud)

uibutton uiimage ios swift

1
推荐指数
1
解决办法
1345
查看次数

是否可以使用特定前缀计算资产目录中的图片?

是否可以计算资产目录中具有特定前缀的图片?例如,我有如下图像:

鸡尾酒_01

鸡尾酒_02

...

Cocktail_nn

和其他类似的团体。

当我的应用程序启动时,我会执行如下代码:

var rec_cocktail = [UIImage]()
    for i in 1..<32 {
        if i < 10 {
            let name: String = "Cocktail__0" + i.description
            rec_cocktail.append(UIImage(named: name)!)
        } else {
            let name: String = "Cocktail__" + i.description
            rec_cocktail.append(UIImage(named: name)!)
        }
    }
    alcoholImages.append(rec_cocktail)
Run Code Online (Sandbox Code Playgroud)

它完美无缺,但我要加载的组很少,而且每个组都有不同数量的图像。每次从资产目录中添加或删除图片时,我都必须检查和更改范围。

uiimage ios alassetslibrary swift

1
推荐指数
1
解决办法
1880
查看次数

iOS-Charts 如何将 UIImage 放在一个点旁边

我想在 Swift 中使用 iOS-Charts 绘制一些折线图来显示数据。现在,我有一个要求,在每个点旁边放一个小图标。

在此处输入图片说明

现在我可以在图形上添加 UIImage,但问题是如何正确获取每个点的 CGPoint 坐标。

如果我改变设备的方向或设备类型,图像的位置仍然是固定的,不会相应地改变。这是 iPhone 6s 图片。

在此处输入图片说明

这是我当前的代码:

for i in 0..<dataPoints.count {
        let pointLeft = lineChartView.getPosition(dataEntries[i], axis: .Left)

        let image = UIImage(named: numbers[i])
        let imageView = UIImageView(image:image!)
        imageView.frame = CGRect(x: pointLeft.x, y: pointLeft.y, width: 16, height: 16)
        lineChartView.addSubview(imageView)

    }
Run Code Online (Sandbox Code Playgroud)

uiimage ios swift ios-charts

1
推荐指数
1
解决办法
2171
查看次数

如何从 url 加载 UIImage?

我有以下问题:

致命错误:在解开 Optional 值时意外发现 nil

@IBOutlet weak var DetailImageView1: UIImageView!
@IBOutlet weak var DetailLabel: UILabel!

@IBOutlet weak var DetailLabel2: UILabel!

var SentData1: String!
var SentData2: String!
var SentData3: NSURL!

 override func viewDidLoad() {
    super.viewDidLoad()



    DetailLabel.text = SentData1
    DetailLabel2.text = SentData2
    let url = NSURL(string: "\(SentData3)")
    let data = NSData(contentsOfURL: url!)
    DetailImageView1.image = UIImage(data: data!)
Run Code Online (Sandbox Code Playgroud)

我正在从一个 url 中获取图片并将 url 链接从我以前的视图控制器转到这个。然后我创建了 SentData3:NSURL!现在我必须在 DetailImageView1.image 中显示图片,但是当我尝试测试应用程序时出现错误。

如果有人能告诉我这个错误,我会很高兴。

url uiimage swift

1
推荐指数
1
解决办法
7638
查看次数

iOS UI 测试:获取图像文件名 (Swift)

我的问题是有关获取的图像的文件名UIImage是在使用UIImageView

这是我的示例代码:

// Using image from UIImageObject
imageView1.image = myUIImage
// Using image from XAssets
imageView2.image = UIImage(named: "myImageName")
Run Code Online (Sandbox Code Playgroud)

在 UI 测试中,如何获取图像文件的名称?预期的结果是:

"myUImageObject" // For imageView1 
"myImageName" // For imageView2
Run Code Online (Sandbox Code Playgroud)

有没有办法获得这个值?

谢谢大家!

xcode uiimage ios swift xcode-ui-testing

1
推荐指数
1
解决办法
2735
查看次数

如何在 sd_setImageWithURL 加载的单元格中将 tintcolor 更改为 uiimage?

我正在将图像加载到我的自定义单元格上的 UIImageView 中。该图像是使用 UIImageView+WebCache.h 加载的,我想更改 tintColor,但我正在尝试此代码,但无法更改颜色...

[cell.icon sd_setImageWithURL:[NSURL URLWithString:myURL
            placeholderImage:[UIImage imageNamed:imageName options:SDWebImageRefreshCached];
   UIImage* img = [UIImage imageNamed:imageName];
    cell.icon.image = [img imageWithRenderingMode:UIImageRenderingModeAlwaysTemplate];
    cell.icon.tintColor = [UIColor yellowColor];
Run Code Online (Sandbox Code Playgroud)

我怎么解决这个问题?

objective-c uiimageview uiimage tintcolor ios

1
推荐指数
1
解决办法
950
查看次数

如何设置 UIButton 图像,该图像是带边框的圆形

如何设置 UIButton 图像,该图像是带边框的圆形我编写了相关代码但图像没有以正确的圆形显示..这是我的代码..

    btnMyProfile.setImage(UIImage(named: "MyDefaultImg.png"), for: .normal)
    btnMyProfile.imageView?.contentMode = .scaleAspectFit
    btnMyProfile.imageView?.layer.cornerRadius = (btnMyProfile.imageView?.frame.width)! / 2
    btnMyProfile.imageView?.layer.borderColor = UIColor.blue.cgColor
    btnMyProfile.imageView?.layer.borderWidth = 2.0
Run Code Online (Sandbox Code Playgroud)

我的 o/p 看起来像这样.. 在此处输入图片说明

但我需要这样.. 在此处输入图片说明

我能做些什么来实现我想要的输出?

uibutton uiimage ios swift swift3

1
推荐指数
1
解决办法
3974
查看次数

UIImage 缩放比例

我有这样的图像:

看看这张图片

我想将此图像的大小调整为特定的宽度:假设 200像素,其中还应该计算高度。(因此图像应保持其宽高比例)

这就是我到目前为止所得到的:

extension UIImage {
    func resize(newSize1: CGSize) -> UIImage {
        let size = self.size
        let widthRatio  = newSize1.width  / size.width
        let heightRatio = newSize1.height / size.height

        var newSize2: CGSize
        if(widthRatio > heightRatio) {
            newSize2 = CGSize(width: size.width * heightRatio, height: size.height * heightRatio)
        } else {
            newSize2 = CGSize(width: size.width * widthRatio,  height: size.height * widthRatio)
        }
        let rect = CGRect(x: 0, y: 0, width: newSize2.width, height: newSize2.height)
        UIGraphicsBeginImageContextWithOptions(newSize2, false, 1.0)
        self.draw(in: rect)
        let newImage …
Run Code Online (Sandbox Code Playgroud)

uiimageview uiimage ios swift

1
推荐指数
2
解决办法
7681
查看次数

ImageView 只能在主线程中使用

我从我的 firebase 数据库中获取一个 url 来下载图像,并且在主线程中的 cell.articleImage.image = UIImage(data: data) 上收到此错误,它没有崩溃,但不会返回图像,有谁知道会出什么问题?

override func viewDidLoad() {
        super.viewDidLoad()
        tableView.delegate = self
        tableView.dataSource = self
        DispatchQueue.global().async {
            let v = UIView(frame: .zero)
        }

    }

func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
        guard let cell = tableView.dequeueReusableCell(withIdentifier: "articleCell") as? articlesCell else {
            return UITableViewCell()}

        let article = articleArray[indexPath.row]

        let url = URL(string: article.imageURL)!
        DispatchQueue.global().async {
            do{
                let data = try Data(contentsOf: url)
                DispatchQueue.global().sync {
                    cell.articleImage.image = UIImage(data: data)
                }
            } catch { …
Run Code Online (Sandbox Code Playgroud)

uiimageview uiimage ios firebase swift

1
推荐指数
1
解决办法
4739
查看次数