在iPad 3上以黑色显示多个GPUImageView

时间:2014-11-01 15:12:32

标签: ios gpuimage

我将一个大图像分成小图像,用GPUImagePicture / GPUImageView显示如下。 它适用于iPhone5s,iPad2,iPod touch 5上大到3696x2448(~9M像素)的图像。 它在iPad 3上失败:大图像底部的大约三分之一的小图像显示为黑色。小图像的尺寸为512x512 - 我需要这个小尺寸,以便在后期快速处理。

如果我将小图像的大小增加到1024x1024,那么它可以正常工作(没有黑色输出)。 然而,随着这个更大(1024x1024)的尺寸,应用程序在iPod touch 5上变得非常迟钝。 - 第一次正确显示所有图像[picture processImage];叫做。我试图调整亮度时出错。

[从我的应用输出。红色矩形表示小图像] http://i.stack.imgur.com/dcY4T.png (我没有足够的声誉来发布图片)。

设置过滤器:

for (NSUInteger i = 0; i < [imageArray count]; i++)
{
    UIImage *img = [imageArray objectAtIndex:i];
    CGRect frame = CGRectMake(0, 0, img.size.width, img.size.height);

    GPUImagePicture *picture = [[GPUImagePicture alloc] initWithImage:img];
    [_sourcePicArray addObject:picture];

    GPUImageBrightnessFilter *filter = [[GPUImageBrightnessFilter alloc] init];
    [_filterArray addObject:filter];
    [picture addTarget:filter];

    GPUImageView *gpuVw = [[GPUImageView alloc]initWithFrame:frame];
    [imageArray addObject:gpuVw];
    [filter addTarget:gpuVw];

    [picture processImage];
    [picture release];
    [filter release];
}

// Brightness adjust
for (NSUInteger i = 0; i < [_filterArray count]; i++) {
    GPUImagePicture *picture = [_sourcePicArray objectAtIndex:i];
    GPUImageBrightnessFilter *filter = [_filterArray objectAtIndex:i];
    [filter setBrightness:radius];
    [picture processImage];
}

如何摆脱这种恼人的黑色输出?

0 个答案:

没有答案