gpt4 book ai didi

ios - UIImage 通过选择另一个 UIImage 的一部分

转载 作者:塔克拉玛干 更新时间:2023-11-02 09:04:46 58 4
gpt4 key购买 nike

我有一个 UIImage 和一个 CGPoint,它们告诉我应该朝哪个方向移动它以创建另一个图像。背景可以是任何东西。

提供初始 UIImage 我如何创建新的?最有效的方法是什么?

这是我正在做的:

int originalWidth = image.size.width;
int originalHeight = image.size.height;
float xDifference = [[coords objectAtIndex:0] floatValue];
float yDifference = [[coords objectAtIndex:1] floatValue];


UIView *tempView = [[UIView alloc] initWithFrame:CGRectMake(0, 240, originalWidth, originalHeight)];

UIImageView *imageView = [[UIImageView alloc] initWithImage:image];
imageView.contentMode = UIViewContentModeTopLeft;

CGRect imageFrame = imageView.frame;
imageFrame.origin.x = xDifference;
imageFrame.origin.y = -yDifference;
imageView.frame = imageFrame;

UIGraphicsBeginImageContext(tempView.bounds.size);
[tempView.layer renderInContext:UIGraphicsGetCurrentContext()];
UIImage *finalImage = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();

有没有更优的版本?

最佳答案

你可以使用 CGImageCreateWithImageInRect() 。你可以获得 CGImage来自 UIImage使用 property of the same name

基本上您最终要做的是对现有图像应用蒙版以提取您需要的部分。像这样 -

enter image description here

myImageArea = CGRectMake(xOrigin, yOrigin, myWidth, myHeight);//newImage
mySubimage = CGImageCreateWithImageInRect(oldImage, myImageArea);
myRect = CGRectMake(0, 0, myWidth*2, myHeight*2);
CGContextDrawImage(context, myRect, mySubimage);

This post给出了如何使用此属性的好主意。

关于ios - UIImage 通过选择另一个 UIImage 的一部分,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8538250/

58 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com