2012-10-19 18 views
5

UIImageからURLを取得するにはどうすればよいですか?私はiPhoneのライブラリからイメージを取得していますが、サイズを変更して新しいイメージを保存する必要はありませんが、URLを取得したいと考えています。UIImageからURLを取得する方法

+0

おそらく、あなたが望むものを少し拡大しなければならないでしょう。イメージの新しいパス、イメージの古いパス、または何かを求めていますか? UIImageに関連付けられている唯一のURLは、ディスク上のどこに存在するかを示すファイルシステムURLです。 – Bergasms

+0

私は新しい画像 –

答えて

6

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

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

+1

のURLを取得したいので、もし私がURLを取得したいなら、どこかに保存してからURLを取得する必要がありますか? –

+0

あなたの質問はまだかなり曖昧です。あなたは、編集またはサイズ変更された画像へのURLについて話しています。あなたがUIImageでこれをやっているだけの場合、この新しいイメージへのURLはありません。あなたはちょうどメモリに画像を持っています。 – rmaddy

+0

イメージが存在する場合、それに関連付けられたパスが存在する必要があります。 –

4

あなたが探しているのは、情報辞書のデリゲートコールバックによって提供されるUIImagePickerControllerReferenceURLパラメータです。

NSURL* imageURL = [info objectForKey:UIImagePickerControllerReferenceURL]; 

そしてそれはこのようになります::何をする必要がある

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

はあなたがコールバックでUIImage*に入った同じ画像に戻って参照するために、この後者を使用することができます。

0

UIImageをサブクラス化して、上書きするinitWithURLを作成すると、URLを作成されたプロパティに保存することができます。

​​
9

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

// 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 { } 

URLを使用すると、画像をソーシャルメディアなどと共有することができます。

hereを参照してください。

+1

LIFE SAVER !!!!! – Pentarex

関連する問題