【发布时间】:2019-01-21 05:18:11
【问题描述】:
我想在照片库中保存一张完美正方形的照片。这延伸到屏幕的整个宽度。我下面的代码将图像定位在正方形中,但我不知道如何使位置完美。我只是发布面具部分的代码。我没有把我的整个代码。我在保存图像时没有问题。
@IBAction func mask(_ sender: Any) {
let bottomImage:UIImage = UIImage(named: "backdropd")!
let newSize2 = CGSize(width: bottomImage.size.width, height: bottomImage.size.height)
UIGraphicsBeginImageContextWithOptions(newSize2, false, bottomImage.scale)
if let rightz:UIImage = rightImage.image{
rightz.draw(in: CGRect(x: newSize2.width * 0.125,y: newSize2.height * 0.25,width: newSize2.width/1,height: newSize2.height/2), blendMode:CGBlendMode.normal, alpha:1.0)
}
let newImage:UIImage = UIGraphicsGetImageFromCurrentImageContext()!
UIGraphicsEndImageContext()
fullImage.image = newImage
}
【问题讨论】:
-
除非图片不是完美的正方形,否则两种情况会出现width>height(风景图片),width
宽度,在这种情况下,如果你想创建一个正方形,你可以通过 3 种方式裁剪图像,1. 取顶部正方形部分,2. 取中间正方形部分,3 . 取底部正方形部分。你想把哪个部分当作正方形? -
您是否希望您的
rightImage为正方形并以bottomImage为中心? -
@RatulSharker 我想要肖像,但我不想裁剪图像。但是,如果必须,我希望它从中心裁剪。
-
如果您不想裁剪,则必须有一个间隙,您是想用静态颜色填充该间隙还是从中心裁剪。
-
@RatulSharker 我想用单色红色填充颜色。
标签: ios swift uiimage cgrect uigraphicscontext