程序问答   发布时间:2022-06-01  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了UIImage 文本叠加 - CGPoint 不正确;错误的图像尺寸?大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

如何解决UIImage 文本叠加 - CGPoint 不正确;错误的图像尺寸??

开发过程中遇到UIImage 文本叠加 - CGPoint 不正确;错误的图像尺寸?的问题如何解决?下面主要结合日常开发的经验,给出你关于UIImage 文本叠加 - CGPoint 不正确;错误的图像尺寸?的解决方法建议,希望对你解决UIImage 文本叠加 - CGPoint 不正确;错误的图像尺寸?有所启发或帮助;

我正在尝试在 UIImage 的左下角叠加文本。我从设备的相机胶卷中获取图像,执行叠加,然后将其分配给 VIEwController 上的 UIImageVIEw。然而,垂直 CGPoint 永远不会正确,因为图像的高度似乎与我从 vIEw.bounds.height 得到的不同。以下是我一直在使用的内容;我应该进行哪些更改才能获得正确的 CGPoint 以将覆盖标签分配给?谢谢!

结果(应该在左下角):

UIImage 文本叠加 - CGPoint 不正确;错误的图像尺寸?

PhotosVC 类:UIVIEwController、UINavigationControllerDelegate、UIImagePickerControllerDelegate {

@IBOutlet weak var photoVIEw: UIImageVIEw!

func presentPicker() {
    let picker = UIImagePickerController()
    picker.delegate = self
    let alert = UIAlertController(title: nil,message: nil,preferredStyle: .actionSheet)
    alert.addAction(UIAlertAction(title: "Camera",style: .default,handler: {
        action in
        picker.sourceType = .camera
        self.present(picker,animated: true,completion: nil)
    }))
    alert.addAction(UIAlertAction(title: "Photo library",handler: {
        action in
        picker.sourceType = .photolibrary
        self.present(picker,completion: nil)
    }))
    alert.addAction(UIAlertAction(title: "Cancel",style: .cancel,handler: nil))
    self.present(alert,completion: nil)
}


 overrIDe func vIEwDIDAppear(_ animated: Bool) {
    super.vIEwDIDAppear(animated)
    
    presentPicker()
}

overrIDe func vIEwDIDLoad() {
    super.vIEwDIDLoad()
}

func imagePickerController(_ picker: UIImagePickerController,dIDFinishPickingMediawithInfo info: [UIImagePickerController.InfoKey : Any]) {

    picker.dismiss(animated: true,completion: nil)
    guard let image = info[.originalimage] as? UIImage else {
        print("Issue getTing photo from imagePickerController")
        return }

    
    let CGPointBottomleft = photoVIEw.bounds.height
    print(photoVIEw.bounds.height) // Is 336

    let imageWithText = textToImage(drawText: "Overlayed text",inImage: image,atPoint: CGPoint(x: 0,y: CGPointBottomleft))
    self.photoVIEw.image = imageWithText
}

 func imagePickerControllerDIDCancel(_ picker: UIImagePickerController) {
     dismiss(animated: true,completion: nil)
 }

func textToImage(draw@R_657_3801@: @R_450_10495@ng,inImage image: UIImage,atPoint point: CGPoint) -> UIImage {
    let textcolor = UIcolor.white
    let textFont = UIFont(name: "Helvetica Bold",size: 212)! // Only visible if huge

    let scale = UIScreen.main.scale
    UIGraphicsBeginImageContextWithOptions(image.size,false,scalE)

    let textFontAttributes = [
        NSAttributed@R_450_10495@ng.Key.Font: textFont,NSAttributed@R_450_10495@ng.Key.foregroundcolor: textcolor,] as [NSAttributed@R_450_10495@ng.Key : Any]
    image.draw(in: CGRect(origin: CGPoint.zero,size: image.sizE))

    let rect = CGRect(origin: point,size: image.sizE)
    text.draw(in: rect,withAttributes: textFontAttributes)

    let newImage = UIGraphicsGetimageFromCurrentimageContext()
    UIGraphicsEndImageContext()

    return newImage!
}

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

大佬总结

以上是大佬教程为你收集整理的UIImage 文本叠加 - CGPoint 不正确;错误的图像尺寸?全部内容,希望文章能够帮你解决UIImage 文本叠加 - CGPoint 不正确;错误的图像尺寸?所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。
标签:-