gpt4 book ai didi

ios - 如何在图像上画线/绘画?

转载 作者:可可西里 更新时间:2023-11-01 00:59:44 25 4
gpt4 key购买 nike

到目前为止,在我的尝试中,我能够在普通图像上画线,比如创建我自己的 CGRect 大小的普通上下文并在其上画线。我看到的所有教程都是如何在创建的 x*y 大小的图像上下文上绘制。但是我想在已经存在的图像上下文(例如狗的图片)上画线并制作一些图画。但到目前为止,我没有得到我想要的结果。这是我测试过的代码,无需分配图像,我就可以绘制线条。但是导入图像后,我没有在图片上得到所需的线条。

let myImage = UIImage(named: "hqdefault.jpg")!
let myRGBA = RGBAImage(image: myImage)!

UIGraphicsBeginImageContextWithOptions(CGSize(width: rgbaImage.width, height: rgbaImage.height), false, 0)
let context:CGContextRef = UIGraphicsGetCurrentContext()!
CGContextMoveToPoint(context, CGFloat(100.0), CGFloat(100.0))
CGContextAddLineToPoint(context, CGFloat(150.0), CGFloat(150.0))

CGContextSetStrokeColorWithColor(context, UIColor.blackColor().CGColor)
CGContextStrokePath(context)

let image = UIGraphicsGetImageFromCurrentImageContext()

CGContextRestoreState(context)
UIGraphicsEndImageContext()
//: Return image
let view = UIImageView.init(image: image)
view.setNeedsDisplay()

这些是我为在图像中画一条线并返回它的上下文而写的行。如果我尝试,我将无法选择导入的图片上下文或绘制线条,因为它最终返回 nil。到目前为止,我无法弄清楚我的错误。你能建议如何在 ImageView 中的图片上画一条简单的线吗?

最佳答案

Can you suggest how to draw a simple line on a picture in image view

当然。制作图像上下文。将 ImageView 的图像绘制到上下文中。将线画到上下文中。从上下文中提取生成的图像并关闭上下文。将提取的图像分配给 ImageView 。

例子:

    let im = self.iv.image! // iv is the image view
UIGraphicsBeginImageContextWithOptions(im.size, true, 0)
im.drawAtPoint(CGPointMake(0,0))
let p = UIBezierPath()
p.moveToPoint(CGPointMake(CGFloat(100.0), CGFloat(100.0)))
p.addLineToPoint(CGPointMake(CGFloat(150.0), CGFloat(150.0)))
p.stroke()
self.iv.image = UIGraphicsGetImageFromCurrentImageContext()
UIGraphicsEndImageContext()

之前:

enter image description here

之后:

enter image description here

在第二张图片中,注意从 (100,100) 到 (150,150) 的直线。

关于ios - 如何在图像上画线/绘画?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36639675/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com