您好我正在开发需要合并两个图像的应用程序,我的图像大小是320*240通过合并两个图像我希望大小为320*480.我怎么能这样做呢?以下是图片

================================================== =================================

Chr*_*ult 35
刚试过这个,根据您正在使用的图像的大小创建您的上下文并将它们相互叠加(这假设它们的宽度相同):
UIImage *image1 = [UIImage imageNamed:@"image1.png"];
UIImage *image2 = [UIImage imageNamed:@"image2.png"];
CGSize size = CGSizeMake(image1.size.width, image1.size.height + image2.size.height);
UIGraphicsBeginImageContext(size);
[image1 drawInRect:CGRectMake(0,0,size.width, image1.size.height)];
[image2 drawInRect:CGRectMake(0,image1.size.height,size.width, image2.size.height)];
UIImage *finalImage = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
//Add image to view
UIImageView *imageView = [[UIImageView alloc] initWithFrame:CGRectMake(0, 0, finalImage.size.width, finalImage.size.height)];
imageView.image = finalImage;
[self.view addSubview:imageView];
Run Code Online (Sandbox Code Playgroud)
Joh*_*y Z 14
要避免降低图像质量,请使用UIGraphicsBeginImageContextWithOptions.
如果指定值0.0,则比例因子将设置为设备主屏幕的比例因子.
UIImage *image1 = [UIImage imageNamed:@"image1.png"];
UIImage *image2 = [UIImage imageNamed:@"image2.png"];
CGSize size = CGSizeMake(image1.size.width, image1.size.height + image2.size.height);
UIGraphicsBeginImageContextWithOptions(size, false, 0.0) // Use this call
[image1 drawInRect:CGRectMake(0,0,size.width, image1.size.height)];
[image2 drawInRect:CGRectMake(0,image1.size.height,size.width, image2.size.height)];
UIImage *finalImage = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
//Add image to view
UIImageView *imageView = [[UIImageView alloc] initWithFrame:CGRectMake(0, 0, finalImage.size.width, finalImage.size.height)];
imageView.image = finalImage;
[self.view addSubview:imageView];
Run Code Online (Sandbox Code Playgroud)
Swift版本
func getMixedImg(image1: UIImage, image2: UIImage) -> UIImage {
var size = CGSizeMake(image1.size.width, image1.size.height + image2.size.height)
UIGraphicsBeginImageContext(size)
image1.drawInRect(CGRectMake(0,0,size.width, image1.size.height))
image2.drawInRect(CGRectMake(0,image1.size.height,size.width, image2.size.height))
var finalImage = UIGraphicsGetImageFromCurrentImageContext()
UIGraphicsEndImageContext()
return finalImage
}
Run Code Online (Sandbox Code Playgroud)
你会得到你的图像来调用这个函数:
var myimage1 = UIImage(named: "image1.png")
var myimage2 = UIImage(named: "image2.png")
var finalMixedImage = getMixedImg(myimage1!, image2: myimage2!)
Run Code Online (Sandbox Code Playgroud)