Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/typescript/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
ios Swift 3.0中图像特定部分的填充颜色_Ios_Swift_Image_Core Graphics - Fatal编程技术网

ios Swift 3.0中图像特定部分的填充颜色

ios Swift 3.0中图像特定部分的填充颜色,ios,swift,image,core-graphics,Ios,Swift,Image,Core Graphics,我正在开发彩色应用程序。 其中,应用程序具有图像,我们必须使用选定的颜色对其进行着色 我尝试了很多事情来完成这个应用程序。 但是,还并没有找到完美的方法来填充图像特定部分的颜色 我试着用这个代码得到像素的颜色 func getPixelColor(pos: CGPoint) -> UIColor { let pixelData = self.cgImage!.dataProvider!.data let data: UnsafePointer<UIn

我正在开发彩色应用程序。 其中,应用程序具有图像,我们必须使用选定的颜色对其进行着色

我尝试了很多事情来完成这个应用程序。 但是,还并没有找到完美的方法来填充图像特定部分的颜色

我试着用这个代码得到像素的颜色

func getPixelColor(pos: CGPoint) -> UIColor {

        let pixelData = self.cgImage!.dataProvider!.data
        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)
}
任何人都有解决办法。 然而,我只能在触摸区域像素上填充颜色,但我们必须用选定的颜色在特定触摸部分上填充颜色。还要注意,颜色应该填充内部边界,而不是边界颜色上或外部

如果有人有示例代码,请分享

谢谢。

使用此项目:

这里我们设置了限制按钮。所以把它默认设置为10。 然后将所有iPhone的图像大小设置为300x300,iPad的图像大小设置为600x600。它对我非常有效。 保持图像质量完美


希望这个答案对您有所帮助。

您找到解决方案了吗?没有,还没有找到解决方案。此解决方案有任何更新吗?没有-Ghulam Rasool我仍在等待解决方案我在尝试向imageview添加颜色时遇到了以下问题,imageview中的颜色消失了。2018-09-08 18:08:40.228112+0530 UIImage扫描线洪水填充[7031:122488][未知进程名称]CGContextDrawImage:无效上下文0x0。如果要查看回溯,请设置CG_CONTEXT_SHOW_backtrace环境变量。有什么解决方案吗?你好,Anil Kumar你能分享你的代码吗。因为你的问题不清楚。
 UIGraphicsBeginImageContextWithOptions((rect?.size)!, false, (images?.scale)!)
        let c = UIGraphicsGetCurrentContext()
        images?.draw(in: rect!)

        c!.setFillColor(UIColor.red.cgColor)
        c!.setBlendMode(CGBlendMode.normal)


        c!.fill(CGRect(x: (location?.x)!, y: (location?.y)!, width: 10, height:10))

         let result = UIGraphicsGetImageFromCurrentImageContext()
        UIGraphicsEndImageContext()

        img.image = result