6

UIImageからURLを取得するにはどうすればよいですか?iPhoneライブラリから画像を取得し、サイズを変更しました。新しい画像を保存したくありませんが、そのURLを取得したいと思います。

4

4 に答える 4

12

あなたはそれを保存したくないと言いますが、 の URL が必要な場合は、必要な URLUIImageを取得するために一時コピーを簡単に保存できます。

新しいSwift 5の場合:

// Create a URL in the /tmp directory
guard let imageURL = NSURL(fileURLWithPath: NSTemporaryDirectory()).appendingPathComponent("TempImage.png") else {
    return
}

let pngData = image.pngData();
do {
    try pngData?.write(to: imageURL);
} catch { }

これで、URL を使用して、画像をソーシャル メディアや必要に応じて共有できます。

以前の Swift バージョンの場合:

// Create a URL in the /tmp directory
guard let imageURL = NSURL(fileURLWithPath: NSTemporaryDirectory()).appendingPathComponent("TempImage.png") else {
    return
}

// save image to URL
do {
    try UIImagePNGRepresentation(myImage)?.write(to: imageURL)
} catch { }

詳しくはこちらをご覧ください。

于 2016-02-06T12:10:07.983 に答える
9

UIImage には URL やファイル情報はありません。これは、ピクセルの色データを表すバイトの集まりです。UIImagePicker から UIImage を取得すると、アセット ライブラリ内の元の画像への URL を取得できます。ただし、この URL はイメージ ピッカー デリゲート メソッドで取得する必要があり、UIImage オブジェクトとは別に追跡する必要があります。

編集-OPのコメントに基づいて、これは要求されている情報ではありません。

于 2012-10-19T06:55:02.750 に答える
4

探しているのはUIImagePickerControllerReferenceURL、info ディクショナリのデリゲート コールバックによって提供されるパラメーターです。あなたがする必要があるのは:

NSURL* imageURL = [info objectForKey:UIImagePickerControllerReferenceURL];

そして、それは次のようになります。

assets-library://asset/asset.JPG?id=SOME_GUUID&ext=JPG

この後者を使用してUIImage*、コールバックで取得した同じ画像を参照することができます。

于 2013-08-31T16:30:43.377 に答える
2

UIImage をサブクラス化し、オーバーライド initWithURL: を作成して、作成したプロパティに URL を保存することができます...このようなものです。

+ (id) initWithURL:(NSURL*)url
{
    [super initWithURL:url];
    self.url = url;
}
于 2015-10-14T23:39:52.390 に答える