CoreGraphics dessiner une image sur une toile blanche

J'ai une source de l'image qui a une variable de largeur et de hauteur, qui je dois l'affichage plein écran de l'iPad UIImageView mais avec l'ajout de bordures autour de l'image elle-même. Donc, ma tâche est de créer une nouvelle image avec une bordure blanche autour d'elle, mais de ne pas empiéter sur l'image elle-même. Je suis en train de le faire avec un chevauchement par l'intermédiaire de ce code:

- (UIImage*)imageWithBorderFromImage:(UIImage*)source
{
  CGSize size = [source size];
  UIGraphicsBeginImageContext(size);
  CGRect rect = CGRectMake(0, 0, size.width, size.height);
  [source drawInRect:rect blendMode:kCGBlendModeNormal alpha:1.0];

  CGContextRef context = UIGraphicsGetCurrentContext();
  CGContextSetRGBStrokeColor(context, 1.0, 1.0, 1.0, 1.0);
  CGContextSetLineWidth(context, 40.0);
  CGContextStrokeRect(context, rect);
  UIImage *testImg =  UIGraphicsGetImageFromCurrentImageContext();
  UIGraphicsEndImageContext();
  return testImg;
}

Quelqu'un peut me dire comment je dessine d'abord une toile blanche qui est de 40 pixels plus gros dans chaque direction de la source de l'image, puis de dessiner l'image sur elle?

InformationsquelleAutor Eugene | 2012-06-05