矩形图像缩放以适应正方形以与 MPMediaItemArtwork 一起使用
Posted
技术标签:
【中文标题】矩形图像缩放以适应正方形以与 MPMediaItemArtwork 一起使用【英文标题】:Rectangle image scale to aspect fit square to use with MPMediaItemArtwork 【发布时间】:2016-11-02 08:57:40 【问题描述】:MPMediaItemArtwork *albumArt = [[MPMediaItemArtwork alloc] initWithImage:image]];
我有一个UIImage
,即rectangle
,当我使用MPMediaItemArtwork
将它放到MPNowPlayingInfoCenter
时,它被裁剪为正方形。如何调整 UIImage
的大小以适应 square UIImage
的宽度并将其余部分留空?
【问题讨论】:
【参考方案1】:将UIImage
放入UIImageView
,将contentMode
设置为UIImageView
为UIViewContentModeScaleAspectFit
,并将其渲染回UIImage
。
+ (UIImage *)imageToSquare:(UIImage *)image byWidth:(float)width
UIImageView *view = [[UIImageView alloc]initWithFrame:CGRectMake(0, 0, width, width)];
[view setImage:image];
view.contentMode = UIViewContentModeScaleAspectFit;
UIGraphicsBeginImageContextWithOptions(view.bounds.size, view.opaque, 0.0);
[view.layer renderInContext:UIGraphicsGetCurrentContext()];
UIImage * img = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
return img;
【讨论】:
真棒答案! 但是在 Xcode 上运行时会发出警告“[UIImageView initWithFrame:] must be used from main thread” 这个问题请参考:***.com/questions/45081731/…以上是关于矩形图像缩放以适应正方形以与 MPMediaItemArtwork 一起使用的主要内容,如果未能解决你的问题,请参考以下文章
Android Studio:缩放 ImageView 边界以适应图像