首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >UIImage (帧)和UIImage (图片)合并

UIImage (帧)和UIImage (图片)合并
EN

Stack Overflow用户
提问于 2017-09-01 14:01:04
回答 1查看 79关注 0票数 1

我有多个大小的帧,可以硬编码,或者服务器来决定。我必须选择图片画廊,这肯定可以是多个维度。

  1. 我正在从画廊中选择图像
  2. 我正在生成白色背景UIImage,使用代码。 设size =CGSize(宽度: 424/2,高度: 664/2) UIGraphicsBeginImageContextWithOptions(size,true,0) UIColor.white.setFill() UIRectFill(CGRect(x: 0,y: 0,宽度: size.width,高度: size.height))让background_image: UIImage?= UIGraphicsGetImageFromCurrentImageContext() UIGraphicsEndImageContext()

现在,我想要做另一个图像,它保持领先的20像素,前20像素,宽度和高度比原始背景小20像素。

我怎样才能做到这一点。

我来StackOverflow之前试过的东西。

代码语言:javascript
复制
func mergedImageWith(frontImage:UIImage?, backgroundImage: UIImage?) -> UIImage{

    if (backgroundImage == nil) {
      return frontImage!
    }

    let size = CGSize(width: 424/2, height: 664/2)

    UIGraphicsBeginImageContextWithOptions(size, true, 0)
    UIColor.white.setFill()
    UIRectFill(CGRect(x: 0, y: 0, width: size.width, height: size.height))
    let backgroundImage2: UIImage? = UIGraphicsGetImageFromCurrentImageContext()
    UIGraphicsEndImageContext()

    UIGraphicsBeginImageContextWithOptions(size, false, 0.0)
    backgroundImage2?.draw(in: CGRect.init(x: 0, y: 0, width: size.width, height: size.height))

    frontImage?.draw(in: getAspectFillFrame(sizeImageView: size2, sizeImage: (frontImage?.size)!))

    let newImage:UIImage = UIGraphicsGetImageFromCurrentImageContext()!
    UIGraphicsEndImageContext()

    return newImage
  }

这里的背景图像与侧面填充,但问题是开始的位置和完整的高度和宽度。

用非常简单的话说。这就像制作定制的框架,并将它们与图像(方面填充)合并以供打印。

有人能帮我吗?

谢谢。

EN

回答 1

Stack Overflow用户

发布于 2017-09-01 14:14:33

尽量不要结束您的图像上下文,直到所有的图像绘制(我还包括一些代码,我已经工作,编辑了一点)

代码语言:javascript
复制
class layeredImageView: UIImageView {
var imageBackground:UIImage!
var imageForeground:UIImage!

UIGraphicsBeginImageContextWithOptions(self.frame.size, false, UIScreen.main.scale)

    self.image?.draw(in: self.frame)

    imageBackground.draw(in: CGRect(<rect>)
    imageForeground.draw(in: CGRect(<rect>)

    self.image = UIGraphicsGetImageFromCurrentImageContext()
    UIGraphicsEndImageContext()


}
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/46001900

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档