gpt4 book ai didi

iOS无损图像编辑

转载 作者:塔克拉玛干 更新时间:2023-11-02 20:14:29 25 4
gpt4 key购买 nike

我正在为 iPhone/iPod 开发一个照片应用。

我想从 iPhone 应用程序中的大图像获取原始数据并对其执行一些像素操作并将其写回磁盘/图库。

到目前为止,我一直在使用以下技术将从图像选择器获得的 UIImage 转换为无符号字符指针:

CGImageRef imageBuff = [imageBuffer CGImage];//imageBuffer is an UIImage *
CFDataRef pixelData = CGDataProviderCopyData(CGImageGetDataProvider(imageBuff));
unsigned char *input_image = (unsigned char *)CFDataGetBytePtr(pixelData);

//height & width represents the dimensions of the input image

unsigned char *resultant = (unsigned char *)malloc(height*4*width);

for (int i=0; i<height;i++)
{
for (int j=0; j<4*width; j+=4)
{
resultant[i*4*width+4*(j/4)+0] = input_image[i*4*width+4*(j/4)];
resultant[i*4*width+4*(j/4)+1] = input_image[i*4*width+4*(j/4)+1];
resultant[i*4*width+4*(j/4)+2] = input_image[i*4*width+4*(j/4)+2];
resultant[i*4*width+4*(j/4)+3] = 255;
}
}
CFRelease(pixelData);

我正在对结果 进行所有操作,并使用以下方法以原始分辨率将其写回磁盘:

     NSData* data = UIImagePNGRepresentation(image);
[data writeToFile:path atomically:YES];

我想知道:

  1. 转换实际上是无损的吗?
  2. 如果手边有一张 20-22 MP 的图像...在后台线程中执行此操作是否明智? (崩溃的可能性等......我想知道这样做的最佳实践)。
  3. 有没有更好的方法来实现这个(获取像素数据在这里是必要的)

最佳答案

是的,该方法是无损的,但我不确定 20-22 MP 图像。如果我想编辑那么大的图像,我认为 Iphone 根本不是一个合适的选择!

关于iOS无损图像编辑,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16052015/

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