2012-03-31 7 views
0

ライブラリーから画像をロードする方法や、新しい画像を取り込んだり、小さなサイズにサイズを変更して編集して元のサイズに保存する方法はありますか?私はこれに苦しんでいるし、それを動作させることはできません。私はこのようなサイズ変更コードの設定があります。UIImageのサイズを変更して高解像度で保存しますか?

firstImage = [firstImage resizedImageWithContentMode:UIViewContentModeScaleAspectFit bounds:CGSizeMake(960, 640) interpolationQuality:kCGInterpolationHigh]; 

をして、私はUIImageViewを持っている:

[finalImage setFrame:CGRectMake(10, 100, 300, 232)]; 
finalImage.image = firstImage; 

もし私のセットアップ、それは非常に遅いプロセスであり、画像の元のサイズでCGSizeMake。私は、他のアプリでは小さな画像で作業していて、編集プロセスは効果があってもかなり速いことがわかりました。これについてのアプローチは何ですか?

答えて

1

Move and Scale Demoを参照してください。これは、あなたに本当に役立つイメージを移動し、拡大縮小してトリミングするカスタムコントロールです。

また、指定したサイズに画像を拡大縮小する最も簡単なコードです。ここではそれを参照してください:Resize/Scale of an Image

は、あなたはそれがここにコード

// UIImage+Scale.h 

@interface UIImage (scale) 

-(UIImage*)scaleToSize:(CGSize)size; 

@end 

代わりにインターフェイスを持つ実装UIImageスケールカテゴリ だし、のはUIImageに追加されるメソッドのコードを書いてみましょう参照することができますクラス。我々はUIImageに追加された新しいスケールのメソッドを呼び出すUIImage尺度法 を使用して

// UIImage+Scale.h 

#import "UIImage+Scale.h" 

@implementation UIImage (scale) 

-(UIImage*)scaleToSize:(CGSize)size 
{ 
    // Create a bitmap graphics context 
    // This will also set it as the current context 
    UIGraphicsBeginImageContext(size); 

    // Draw the scaled image in the current context 
    [self drawInRect:CGRectMake(0, 0, size.width, size.height)]; 

    // Create a new image from current context 
    UIImage* scaledImage = UIGraphicsGetImageFromCurrentImageContext(); 

    // Pop the current context from the stack 
    UIGraphicsEndImageContext(); 

    // Return our new scaled image 
    return scaledImage; 
} 

@end 

このように簡単です:

#import "UIImage+Scale.h" 

... 

// Create an image 
UIImage *image = [UIImage imageNamed:@"myImage.png"]; 

// Scale the image 
UIImage *scaledImage = [image scaleToSize:CGSizeMake(25.0f, 35.0f)]; 

は、あなたがより多くの助けが必要な場合は私に知らせてください。

希望すると、これが役立ちます。

+0

私はそれを見て、ありがとう – devC

+0

@devC:私は私の答えを編集しました。私はもう一つの簡単なコードとそのリンクを追加しました。これも見てください。 –

+0

私はこの方法で試しましたが、ぼかしされた画像が得られます。 – devC

関連する問題