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]); }
<< 前へ | 次へ >> |