Jor*_*n H 10 objective-c uiscrollview uiimageview uiimage ios
我有一个没有alpha通道的图像 - 我在Finder的"获取信息"面板中确认.然而,当我把它放在a UIImageView中UIScrollView并且我启用Show Blended Layers时,图像是红色的,这表明它正在尝试应用透明度,这将会影响性能.
如何解决这个问题是绿色的,所以iOS知道这个视图中的一切都是完全不透明的?
我尝试了以下但是没有删除红色:
self.imageView.opaque = YES;
self.scrollView.opaque = YES;
Run Code Online (Sandbox Code Playgroud)
Gus*_*osa 12
默认情况下,UIImage实例在包含Alpha通道的图形上下文中呈现.要避免它,您需要使用新的图形上下文生成另一个图像opaque = YES.
- (UIImage *)optimizedImageFromImage:(UIImage *)image
{
CGSize imageSize = image.size;
UIGraphicsBeginImageContextWithOptions( imageSize, opaque, scale );
[image drawInRect: CGRectMake( 0, 0, imageSize.width, imageSize.height )];
UIImage *optimizedImage = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
return optimizedImage;
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2655 次 |
| 最近记录: |