這裏是我的代碼:分享高分辨率圖像
- (void)shareButtonTapped
{
CGSize newImageSize = CGSizeMake(850.0, 850.0);
UIGraphicsBeginImageContextWithOptions(newImageSize, YES, _aImageView.image.scale);
[self.aImageView.layer renderInContext:UIGraphicsGetCurrentContext()];
[self.aImageView.image drawInRect:CGRectMake(0, 0, newImageSize.width, newImageSize.height)];
UIImage * image = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
// UIActivityViewController code here
}
現在,如果我的郵件按鈕點擊,例如,圖像是newImageSize,但我的_aImageView.image僅在左上角顯示而圖像的其餘部分則全黑。
如何編輯此代碼以將圖像縮放到850 x 850或高分辨率大小,以便在通過電子郵件或社交媒體共享時看起來會很清晰?
謝謝!
編輯*
仍停留。我覺得我快到了。
這是我的新代碼:
- (void)shareButtonTapped
{
_topBarImageView.hidden = YES;
_bottomBarImageView.hidden = YES;
CGSize newImageSize = CGSizeMake(600.0, 600.0);
UIGraphicsBeginImageContextWithOptions(newImageSize, YES, _aImageView.image.scale);
[_aImageView.layer = renderInContext:UIGraphicsGetCurrentContext()];
[_aLabel drawTextInRect:CGRectMake(20, 250, 280, 140)];
UIImage * image = UIGraphicsGetImageFromCurrentImageContext();
UIImage * newImage = [UIImage imageWithImage:image scaledToSize:newImageSize];
UIGraphicsEndImageContext();
_topBarImageView.hidden = NO;
_bottomBarImageView.hidden = NO;
// Share Code
}
所以我躲在一對夫婦在該屏幕上的定製imageViews的。我唯一想分享的就是aImageView和aLabel。
現在,當我打開我的電子郵件例如,我可以看到newImageSize,但大部分框仍然是黑色的。我仍然無法弄清楚我缺少的東西。
我覺得這一類是用於調整非常方便:https://github.com/AliSoftware/UIImage-Resize –