繁体   English   中英

具有透明背景的PNG在较旧的iPad上显示黑色

[英]PNG with transparent background shows black on older iPads

我的iPad应用程序中有一个错误使我发疯。 该应用程序允许用户将剪贴画拖放到页面上。 剪贴画图像是具有透明背景的PNG。 我创建一个简单的UIImageView并将不透明设置为NO。 在我所有的测试中,一切正常。 但是,似乎使用较旧iPad(也许是iPad 2?)的人这些图像具有黑色背景。 这似乎不是iOS的问题,但似乎是iPad的问题。

您可以在其中看到90-95%的剪贴画图像非常完美的网站,而5-10%的背景为黑色: http//www.printpad.com

我用于UIImageView的代码:

UIImageView *imageView = [[UIImageView alloc] initWithImage:resized imageBorderColor:borderColor imageBorderWidth:borderWidth];
[imageView.layer setOpaque:NO];
imageView.opaque = NO;
imageView.frame = rect;
[view addSubview:imageView];

我真的希望有人能遇到这个问题并能提供帮助,因为我什至都无法想到如何进行调试或其他任何事情。 谢谢!!!!!

编辑:原始图像被下载到Documents目录中,然后按以下方式调整大小:

UIImage *image = [UIImage imageWithContentsOfFile:path];
CGSize newSize = [MyUtility getNewSize:image.size maximumSize:CGSizeMake(200, 200)];
UIImage *resized = [UIImage imageWithImage:image scaledToSize:newSize];

这是imageWithImage类别:

+ (UIImage *)imageWithImage:(UIImage*)image scaledToSize:(CGSize)newSize
{
    [self beginImageContextWithSize:newSize];
    [image drawInRect:CGRectMake(0,0,newSize.width,newSize.height)];
    UIImage *newImage = UIGraphicsGetImageFromCurrentImageContext();
    [self endImageContext];
    return newImage;
}

就像这里的答案一样: https : //stackoverflow.com/a/23355129/1751266

您是否可能将图像创建为不透明而不是透明? 如果您使用的是UIGraphicsBeginImageContextWithOptions或类似方法,则第二个参数应为NO。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM