【问题标题】:one image on to another image size issue ios一个图像到另一个图像大小问题 ios
【发布时间】:2018-06-22 14:07:44
【问题描述】:

我想将一个小图像添加到另一个主图像,比如徽章我正在为此执行此代码,但问题是如果背景图像很小,则水印显示非常大。请提供任何建议。

[_productImg sd_setImageWithURL:[NSURL URLWithString:imgUrl]
                   placeholderImage:nil
                          completed:^(UIImage *image, NSError *error, SDImageCacheType cacheType, NSURL *imageURL) {

                              if (image.size.width > 0 && img.isdefaultImage) {
                                  UIImage *watermark = [UIImage imageNamed:@"is_default_big"];
                                  CGFloat scale = image.scale;
                                  UIGraphicsBeginImageContextWithOptions(image.size, NO, 0.0);
                                   [image drawInRect:CGRectMake(0, 0, image.size.width, image.size.height)];
                                  [watermark drawInRect:CGRectMake(image.size.width - watermark.size.width, 0, watermark.size.width, watermark.size.height)];
                                  UIImage *result = UIGraphicsGetImageFromCurrentImageContext();
                                  UIGraphicsEndImageContext();
                                  _productImg.image = result;

                              }

                              [_spinner stopAnimating];
                              [_spinner removeFromSuperview];

                          }];


      });

【问题讨论】:

    标签: ios objective-c uiimage overlay uiimagview


    【解决方案1】:

    由于您的图像显然具有不同的尺寸,但您似乎将它们显示为(大致)相同的尺寸,您需要缩放您的徽章。

    试试这样的:

    // Add this line
    CGFloat desiredBadgeSize = 0.2; // Badge is 20% of image height
    
    // Change these lines
    CGFloat scale = image.size.height / watermark.size.height * desiredBadgeSize;
    [watermark drawInRect:CGRectMake(image.size.width - watermark.size.width * scale, 0, watermark.size.width * scale, watermark.size.height * scale)];
    

    上面的代码假设您将图像缩放到设备上的相同高度。

    另一种通常更快的方法是将徽章放入 UIImageView 并将其添加到包含您的图像的视图中。这样,您仍然拥有原始图像,并且可以在需要时轻松移除徽章。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-01-22
      • 2016-03-24
      • 2016-07-14
      • 1970-01-01
      • 1970-01-01
      • 2020-06-21
      • 1970-01-01
      • 2014-04-14
      相关资源
      最近更新 更多