問題タブ [uiimagepngrepresentation]

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.

0 投票する
0 に答える
244 参照

arrays - UIImagePNGRepresentationメモリ警告Swiftで画像の配列を保存する

UIView のランダムなサイズ/形状のセクションをキャプチャし、UIImagePNGRepresentation を使用してディスクに保存しています。ファイルは期待どおりに保存されますが、デバイスで実行すると、ファイルをループで保存して表示しないだけでも、恐ろしい「受信メモリ警告」が表示されます。

同様の投稿を見たことがありますが、私の問題を解決する答えはありません。 この投稿では AVFoundation の使用を提案していますが、UIImagePNGRepresentation に固執できることを願っています。

また、コードの NSData 部分を autoreleasepool クロージャーでラップしようとしましたが、役に立ちませんでした。

ディスクに書き込まれた各 dataPng を NSData に強制的に解放させる方法はありますか?

0 投票する
2 に答える
7107 参照

ios - UIImagePNGRepresentation - iOS を使用して画像サイズを圧縮するには?

UIImagePNGRepresentation画像保存に使っています。結果の画像のサイズは 30+ KB で、私の場合は BIG です。

使用UIImageJPEGRepresentationしてみましたが、画像を圧縮できるため、画像は5KB未満のサイズで保存されますが、JPEGで保存すると背景が白くなり、望ましくありません(私の画像は円形なので、保存する必要があります透明な背景)。

を使用して画像サイズを圧縮するにはどうすればよいUIImagePNGRepresentationですか?

0 投票する
1 に答える
695 参照

swift - Core Data から画像をロード/取得できません

私は一日中インターネットを検索して解決策を探しましたが、どこにも行きませんでした.NSFetchRequestでprint(results)を使用してテストすると、コアデータに画像を保存しています。範囲'...

[<toootesting.Entity: 0x7fb0816a69f0> (entity: Entity; id: 0xd000000000040000 <x-coredata://2D52E511-B03F-4629-ADF1-DEBD80A63EC0/Entity/p1> ; data: { photo = <89504e47 0d0a1a0a 0000000d 49484452 0000021c 000001e4 08020000 00fab561 c2000000 01735247 4200aece 1ce90000 0009>;

画像は次のコードを使用して保存されます...

ただし、保存した CoreData イメージを 2 番目の imageView にロードしようとすると、フェッチ要求でエラーが発生します....「タイプ [AnyObject] の値を予期される引数タイプ NSData に変換できません」

コードは...

最初のアクションで UIImage を NSData に変換できるようですが、Fetch では、viewController に表示するために NSData を UIImage に戻すことができません。

私の質問は、UIImage から NSData に簡単に変換できるかどうか、その逆も同じようにできるかどうかです。コードが画像を表示するのを止めているのは何ですか? コーディングソリューションは大歓迎です。

私はここで初心者なので、前もって助けてくれてありがとう。

0 投票する
3 に答える
462 参照

ios - Objective-cのUIImagePNGRepresentationがメモリリークを引き起こしている

いくつかの画像 (base64 文字列から UIImage に変換されたもの) をデバイスにダウンロードして保存しようとしていますが、メモリ警告が表示され続けます。

NSData *pngData = UIImagePNGRepresentation(image);画像が非常に大きいため、メモリ警告が発生します。

残念ながら、画像のサイズを制御することはできませんが、後でギャラリーで使用するためにデバイスに保存する方法が必要です。

コードをラップしようとしまし@autoreleasepoolたが、違いはありませんでした。

0 投票する
1 に答える
255 参照

ios - より少ないステップで生データから UIImagePNGRepresentation へ

このコードを使用して、共有拡張機能から画像を抽出し、それをアプリ グループに作成したディレクトリに書き込みます。

何もかもうまくいっています。

私が知りたいのは、いくつかのコードを減らすことができるかどうかです: 特に、 の後if error == nil、私:

  • にデータをキャストしNSURLます。
  • NSURLを取得するために使用しますNSData
  • NSDataを取得するために使用しますUIImage
  • UIImageを取得するために使用しますUIImagePNGRepresentation

imageData 変数の作成を回避する以外に、より少ない手順で同じ目標を (安全に) 達成する方法はありませんか?