CGContextRef context = UIGraphicsGetCurrentContext();サイズは、CGSizeという構造体として扱われます。UIImageの「size」というプロパティの値を取り出すことで、このようにイメージの大きさが得られます。
CGSize s = [myimg size];
CGRect r = CGRectMake(20, 20, s.width, s.height);続いて、描画する領域をCGRect構造体の値として用意します。これはCGRectMake関数を使って作成します。これで描画の準備は完了です。後は描画をするだけです。
CGContextDrawImage(context, r, [myimg CGImage]);CGContextDrawImageが、描画を行うための関数です。第1引数には例のごとくCGContextRefを指定し、代2引数には描画する領域を示すCGSize、そして第3引数には描画するイメージを用意します。これは、UIImageをそのまま指定するのではないので注意が必要です。UIImageから「CGImage」というプロパティの値を取り出し、これを指定します。
※リストが表示されない場合
AddBlockなどの広告ブロックツールがONになっているとリストなどが表示されない場合があります。これらのツールをOFFにしてみてください。
※drawRect:の修正(1)
- (void)drawRect:(CGRect)rect
{
CGContextRef context = UIGraphicsGetCurrentContext();
CGSize s = [myimg size];
CGRect r = CGRectMake(20, 20, s.width, s.height);
CGContextDrawImage(context, r, [myimg CGImage]);
}
※drawRect:メソッドの修正(2)
- (void)drawRect:(CGRect)rect
{
CGContextRef context = UIGraphicsGetCurrentContext();
CGSize s = [myimg size];
CGRect r = CGRectMake(20, 20, s.width, s.height);
// ★ここから追加した文
CGAffineTransform affine = CGAffineTransformIdentity;
affine.d = -1.0f;
affine.ty = 20 + 20 + s.height;
CGContextConcatCTM(context, affine);
CGContextDrawImage(context, r, [myimg CGImage]);
}
| << 前へ | 次へ >> |