IOS图片等比缩放合成Demo代码

//图片等比缩放合成并处于中心位置显示
- (UIImage *)addImage:(UIImage *)image1 toImage:(UIImage *)image2 {
    CGSize miSize = self.viewImage.frame.size;
    CGFloat miAspectRatio = miSize.width / miSize.height;
    CGFloat img2AspectRatio = image2.size.width / image2.size.height;

    UIGraphicsBeginImageContextWithOptions(miSize, NO, 0.0f);
    CGFloat w2 = miSize.width;
    if (img2AspectRatio < miAspectRatio) {
        w2 = miSize.width * (img2AspectRatio/miAspectRatio);
    }
    CGFloat h2 = w2 / img2AspectRatio;;
    CGFloat x2 = (miSize.width - w2)/2.0f;
    CGFloat y2 = (miSize.height - h2)/2.0f;
    [image2 drawInRect:CGRectMake(x2, y2, w2, h2)];
    
    CGFloat img1AspectRatio = (w2 / img2AspectRatio)/h2;
    CGFloat w1 = w2 * img1AspectRatio;
    if (img1AspectRatio < img2AspectRatio) {
        w1 = w2 * (img1AspectRatio/img2AspectRatio);
    }
    CGFloat h1 = h2 * img1AspectRatio;
    CGFloat x1 = (w2 - w1)/2.0f + x2;
    CGFloat y1 = (h2 - h1)/2.0f + y2;
    [image1 drawInRect:CGRectMake(x1, y1, w1, h1)];

    UIImage *resultingImage = UIGraphicsGetImageFromCurrentImageContext();
    UIGraphicsEndImageContext();
//    NSString *path = [[NSHomeDirectory()stringByAppendingPathComponent:@"Documents"]stringByAppendingPathComponent:@"image.png"];
//    [UIImagePNGRepresentation(resultingImage) writeToFile:path atomically:YES];
    return resultingImage;
}

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值