簡體   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