問題タブ [alasset]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
iphone - ALAsset ブロックを使用して取得すると、IPAD1 と IPAD2 で同じファイルのサイズが異なる
ITunes を介して 2 つの Ipad (IPAD1 と IPAD2 としましょう) に画像を同期しました。で、ALAssetLibraryブロックを使って画像を取得したところ、2台のiPadでファイルサイズが違う。
(IPAD1 ファイル サイズ: 0.024059、IPAD2 ファイル サイズ: 0.024325)。
IPAD1 と IPAD2 で同じファイルのサイズが異なるのはなぜですか?
ただし、Safariブラウザを介してIPAD1とIPAD2に画像を保存し、同じWebページから画像をタップして、ALAssetLibararyを介して取得すると、Ipad1とIpad2の画像のファイルサイズが同じになりました。
あなたの貴重な提案を教えてください....
使用法
PhotoLibrary Image を取得するために使用したコードは次のとおりです。
The NSLog(@"GOT ASSET, File size: %f", [rep size] / (1024.0f*1024.0f)); 異なるデバイスで同じファイルに対して異なる値を出力します。
コンソール ログの詳細
iPad1
GOT ASSET、ファイル サイズ: 0.024059 画像の CRC は: 2659650838
Ipad2
GOT ASSET、ファイル サイズ: 0.024325 @@@@@@@@image CRC は:331786167
iPad バージョンの詳細
IPAD1: バージョン: 4.2.1(8C148) モデル: MB292LL
IPAD2: バージョン: 4.3.5(8L1) モデル: MB292LL
ありがとう。
iphone - ALAssetsLibrary ALAssetsLibraryDataUnavailableError
何らかの理由でALAssetsLibraryが失敗することに関して、すべてのベースを確実にカバーしようとしています。呼び出し時に発生する可能性のあるエラーを調べると、次のようになります。
ALAssetsLibraryDataUnavailableError に気付きましたが、これの原因についての情報はあまりありません。それに応じてエラー画面を表示したい。
任意の洞察をいただければ幸いです。ありがとう!
ios - writeModifiedImageDataToSavedPhotosAlbumまたはsetImageDataを使用してALAssetのメタデータのみを設定することは可能ですか?
ALAssetのwriteModifiedImageDataToSavedPhotosAlbumメソッドとsetImageDataメソッドはどちらも、画像データ(NSDataオブジェクトの形式)とメタデータ(NSDictionaryオブジェクトの形式)の両方を取得します。すでにカメラロールにあるALAssetに追加のメタデータを挿入するためにすべてが機能しています(明らかに私たちのアプリによって書かれているので、それによって編集可能です)が、私がやりたいのは、最初に画像データ全体を読み取る必要がないことですオリジナルは、これらの呼び出しのいずれかに完全に変更されずに渡すだけです。
画像データ全体を読み取るというメモリペナルティを支払うことなく、ALAssetのメタデータのみを変更する方法はありますか?(これは文書化されたオプションではありませんが)imageDataにnilを渡そうとしましたが、機能しませんでした。
ベレンド
ios - アプリケーション 現在地を使用しますか! ALAssetsLibrary の使用
私のアプリケーションは、 ALAssetsLibraryを使用して iOS デバイスから画像とそのメタデータのみを取得します。アプリケーションがイメージ リストのロードを開始すると、ios 警告が表示されます。
「アプリケーション」は現在地を使用しようとしています。 これにより、写真やビデオの位置情報にアクセスできます。
この警告が表示されないようにプログラム コードを修正する方法はありますか? (設定 - >一般...を使用しないでください。)
ユーザーは、画像の選択中にアプリケーションが場所を尋ねる理由を理解していないと思います。
iphone - ALAsseturliOSからビデオNSDataを取得する
ALAssetから取得したURLからNSDataを取得できません
以下は私が試したコードです:-私は常にNSDataをnilとして取得します。
私もこういうことをやってみました
ALAssetから取得したURL:-
アセット-library://asset/asset.MOV?id = 1000000116&ext = MOV
私はこれを機能する以下のリンクを試しましたが、非常に時間がかかる一時的な場所に不必要に書き込む必要があります。
正しい方向へのヒントをいただければ幸いです。
返信を待っています
iphone - ALAssetRepresentation から CGImageRef の最大サイズを設定する
現在、次のコードを使用して、iOS アプリの ALAsset から UIImage を取得しています。
これは、画像が適度に小さい (デバイスのカメラで撮影したなど) 限り、非常にうまく機能します。ただし、画像が大きすぎる場合 (6000px^2 以上)、アプリはこの手順でメモリ不足になります。
アプリがクラッシュする前にこの状態を検出するか、(理想的には) 返される画像の最大サイズを設定したいと考えています。
小さい画像が返されることは承知していfullScreenImage
ますが、アプリはズームのために画像からはるかに高い解像度を必要とします。
さらに、JPG などの高度に圧縮された形式は圧縮サイズが小さい可能性がありますが、ピクセル単位のサイズが大きい場合 (詳細度の低い画像、高度に圧縮された画像) は、依然として大量のメモリを消費するため、アセットのバイト サイズの使用は信頼できません。
画像のサイズを取得してこの状況を事前に検出して、読み込みをキャンセルしてエラーを表示する方法、またはそのような大きなアセットの小さいバージョンを取得する方法についての入力をいただければ幸いです。
objective-c - ALAssetLibrary を使用して、画像アセットが横向きか縦向きかを簡単に知る方法はありますか?
ALAssetLibrary を使用してアセットを取得します。この画像の横長または縦長が画像をロードしていないことを知る方法はありますが、アセットしかありませんか?
[アセットサムネイル] は (75,75) サイズの画像を返すため、役に立ちません。
fullScreenまたはfullResolution の画像を読み込んでその幅と高さを比較するには、非常に重いです。
メタデータを読み込むと、 pixelHeightとWidthよりも重いです。
それで、誰かが助けることができますか?
upload - ALAsset を Dropbox にアップロードする
iPhone 用の Dropbox API を使用して、カメラ ロールから Dropbox アカウントに写真をアップロードしています。
ただし、これを達成するには、ALAsset のフル解像度の画像をファイルに保存してから、そのファイルを Dropbox にアップロードする必要があるようです。
もっと簡単な方法があるはずだと思います。しかし、Dropbox API は、元のファイルへの NSURL ではなく、元のファイルへのパスを必要とします。
[asset.defaultRepresentation.url absoluteString] は、「assets-library://asset/asset.JPG?id=3CFC9CD9-22AF-445B-AC39-E574DBAE156C&ext=JPG」を生成しますが、これは Dropbox API では使用できません。
と
[asset.defaultRepresentation.url パス] は「/asset.JPG」を生成します
ALAsset の NSURL を使用できますか? 最初に画像をファイルに保存するよりも良い方法はありますか?
ありがとう、ブライアン。
ios - iOSでALAssetイメージをディスクにすばやく保存するには?
私はそのような画像を取得するためにALAssetを使用しています:
これは、できるだけ早くディスクに保存したい CGImageRef を返します...
解決策 1:
解決策 2:
問題は、どちらの方法もデバイス上での実行が非常に遅いことです。これを実行するには、画像ごとに約 2 秒かかります。そして、これは絶対に長すぎます。
質問: この画像保存プロセスをスピードアップするにはどうすればよいですか? または、これに対するより良い解決策はありますか?
更新:
両方のソリューションで最もパフォーマンスが向上するのは、画像を PNG ではなく JPEG 形式で保存することです。そのため、ソリューション 1 は に置き換えられUIImagePNGRepresentation
ましたUIImageJPEGRepresentation
。ソリューション 2 は に置き換えkUTTypePNG
ましたkUTTypeJPEG
。
また、2 番目のソリューションは、最初のソリューションよりもメモリ効率が高いことにも注意してください。