幅と高さが可変のソース画像があります。これは、フルスクリーンの iPad UIImageView に表示する必要がありますが、画像自体の周りに境界線が追加されています。したがって、私の仕事は、周囲に白い境界線を持つ新しい画像を作成することですが、画像自体に重なることはありません。私は現在、このコードを介してオーバーラップしてそれを行っています:
- (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;
}
ソース画像よりも各方向に 40 ピクセル大きい白いキャンバスを最初に描画し、その上にその画像を描画する方法を誰か教えてもらえますか?