-2

サーバーに画像をアップロードしたい。私はこれを行うことができ、それはで動作しUIImageます. ただし、アプリケーションに表示されている現在の画像をアップロードしたいUIImageView.

UIImageView画像を に渡す、または一時的に保存するにはどうすればよいUIImageですか? 以下を試してみましたが、うまくいきません。

UIImage *myImage = imageView.image; 
4

2 に答える 2

2

imageプロパティに直接アクセスできない理由はまだわかりませんが、代わりに、画像ビューをビットマップコンテキストにレンダリングしてから、コンテキストから新しい画像を作成することもできます。コードは次のようになります。

#import <QuartzCore/QuartzCore.h>  // necessary for referencing CALayers
...
CGSize imageSize = imageView.bounds.size; 
UIGraphicsBeginImageContextWithOptions(imageSize, NO, 0);
CGContextRef context = UIGraphicsGetCurrentContext();
[imageView.image.layer renderInContext:context];
UIImage *myImage = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();

テクニカルQ&AQA1703-UIKitアプリケーションでのスクリーンキャプチャを参照してください

于 2012-08-16T18:46:01.983 に答える
1

あなたが持っているものはうまくいくはずですが、どのようなエラーが発生していますか? または、これを試すこともできます...

UIImage *image = [[UIImage alloc] initWithData:UIImagePNGRepresentation(imageView.image)];

またはさらに良い...

UIImage *image = [UIImage imageWithData:UIImagePNGRepresentation(imageView.image)];

しかし、UIImageView にすでに UIImage があるのに、なぜ UIImage を割り当てる必要があるのでしょうか? imageView.image を直接使用するだけです...

于 2012-08-16T19:44:23.440 に答える