Voici mon code:Partager une image haute résolution
- (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
}
En ce moment, si je tape sur le bouton Mail, par exemple, l'image est le newImageSize, mais mon _aImageView.image n'est affiché en haut à gauche coin tandis que le reste de l'image est noir uni.
Comment puis-je modifier ce code pour redimensionner l'image au format 850 x 850 ou à une résolution élevée afin qu'elle soit nette lorsqu'elle est partagée par e-mail ou via les médias sociaux?
Merci!
EDIT *
toujours bloqué. J'ai l'impression d'être presque là.
Voici mon nouveau code:
- (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
}
Je me cache quelques imageViews personnalisés qui sont sur cet écran. La seule chose que je veux partager est l'aImageView et l'aLabel.
À l'heure actuelle, lorsque j'ouvre mon email par exemple, je peux voir la nouvelleImageSize, mais la majorité de la boîte est toujours noire. Je n'arrive toujours pas à comprendre ce qui me manque.
Je trouve cette catégorie très pratique pour le redimensionnement : https://github.com/AliSoftware/UIImage-Resize –