2011-01-22 10 views
1

私は9枚に1枚の画像を切り抜く必要があります。- (UIImage *)stretchableImageWithLeftCapWidth:(NSInteger)leftCapWidth topCapHeight:(NSInteger)topCapHeight

これらのほとんどは、休止方法を示唆しています。

- (UIImage *)stretchableImageWithLeftCapWidth:(NSInteger)leftCapWidth topCapHeight:(NSInteger)topCapHeight 

しかし、これをどのように使っているのかは分かりませんでした。

いずれかが私を助けてください。

この方法で画像をトリミングするにはどうすればよいですか?

ありがとうございます。

+0

デュードに役立ちます...あなたはすでにこの質問はhttpを尋ねました.com/questions/4743242 /プログラムからの作物イメージの作成方法/ 4744599#4744599(ちなみに、前回の質問で私が与えた答えは正しい) – fsaint

答えて

3

メソッドstretchableImageWithLeftCapWidth:topCapHeightはイメージをトリミングしていません。それは縦と辺縁のマージンで画像を伸ばすことができます。

は、doc、あなたは読みます:

stretchableImageWithLeftCapWidth:topCapHeight: を作成し、指定されたキャップ値を持つ新しいイメージオブジェクト を返します。あなたがCGImageCreateWithImageInRectを使用する必要があり、画像トリミングする

:CGImageCreateWithImageInRect

は、既存のビットマップ画像の部分領域内に含まれるデータを使用してビットマップイメージを作成します。

あなたは、このようなこの1の方法で望むものを達成することができます:// stackoverflowの:

- (UIImage *)imageFromImage:(UIImage *)image inRect:(CGRect)rect { 

    CGImageRef sourceImageRef = [image CGImage]; 
    CGImageRef newImageRef = CGImageCreateWithImageInRect(sourceImageRef, rect); 
    UIImage *newImage = [UIImage imageWithCGImage:newImageRef scale:1.0 orientation:image.imageOrientation]; 
    CGImageRelease(newImageRef); 
    return newImage; 
} 

希望これは、 ヴィンセント

関連する問題