問題タブ [cgimage]
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 - takepicture() vs UIGetScreenImage()
QRCodeReader
私たちの研究グループが iPhone 向けに取り組んでいるプロジェクトのを構築しようとしています。多くの調査の後、私はと呼ばれるプログラムを見つけましたQuickMark
。このプログラムは、QRコードを自動的にスキャンします。実行しているように見えるのは、カメラからデータをロードしUIImagePicker
て読み取ることです。カメラからスクリーンショットを使用UIGetScreenImage
して取得し、それをデコードしていると思われます。
ここで、3.1 iPhone API の新しいtakepicture()
メソッドを使用してみましたが、1 秒ごとに静かに写真を撮るという上記の機能を実行できないようです。UIGetScreenImage
それはおそらく違法であり、Apple があなたのアプリを使用した場合、あなたのアプリへのアクセスを拒否するだろうと聞いたことがあります。だから、私の質問は次のとおりです。
a) Quickmark
(またはその他の許可されたアプリ) を使用しており、使用UIGetScreenImage()
している場合、それは合法であるか、
b)takepicture()
メソッドが同じ種類のことを行うことは可能でしょうか?
iphone - キャッシュによるUIImageメモリの問題
UIImage に関連するメモリの問題をグーグルで調べたところ、問題について話している多くのスレッドに出くわしましたが、実際の助けや解決策はありませんでした。
-imageNamed:
オブジェクトを使用するとキャッシュされることがわかっているので、 を使用することをお勧めしますinitWithData:
。と を使用するdrawRect:
とUIGraphicsGetImageFromCurrentImageContext()
、画像はキャッシュされますか?
また、次のコードで:
ドキュメントにこれに関する言及はありませんが、キャッシュは行われますか? キャッシュによって消費されるメモリを解放するにはどうすればよいでしょうか?
iphone - CGImageRefと描画レイヤー
私はこのコードを持っています:
後で、そのCGImageRefをUIImageに次のようにロードします。
その画像の上に円を描きたいのですが。ポイントは円が動くので、削除して再描画する必要があります。これを達成するための最良の方法はレイヤーを使用することだと思うので、私の質問は次のとおりです。そのコードにレイヤーを追加して、その上に円を描くにはどうすればよいですか?後でレイヤーをリセットしてその円を再描画するにはどうすればよいですか?
ありがとうございました!
iphone - スレッド内の UIImage が解放されない/上書きされない
これは、iPhone から画像をスキャンするための古典的な方法のようです。メインスレッドからディスパッチされてコードをスキャンするスレッドがあります。基本的に、毎回新しい UIImage を作成してから削除します。
問題は、[プールの解放] が ERROR_BAD_EXC (あの古いクラシック) を引き起こし、プログラムが爆発することです。UIImage を明示的に割り当てていないため、[uiimage release] を呼び出す必要はないと言われましたが、そうではないようです。その行を削除すると、メモリ使用量が屋根を通り抜け、メモリ不足のためにプログラムが終了します。思い通りに動作しないようです。
UIImage を「その場で」作成する方法はありますか? つまり、UIImage として何度も何度も書き込まれるバッファがありますか? 私はそれがうまくいくと思いますか?
アップデート!
次のように、メインスレッドでUIKit関連の呼び出しを実行しようとしました:
ただし、UIImageの「サイズ」を取得したい場合、EXC_BAD_ACCESSは醜い頭をもたげるので、喜びはありません
iphone - UI スレッドで CGImage/UIImage を遅延読み込みするとスタッターが発生する
私のプログラムは、左から右に UIImageViews で並べられた水平スクロール サーフェスを表示します。コードは UI スレッドで実行され、新しく表示された UIImageView に新たにロードされた UIImage が割り当てられるようにします。読み込みはバックグラウンド スレッドで行われます。
各画像が表示されるときに途切れがあることを除いて、すべてがほぼ正常に機能します。最初は、バックグラウンド ワーカーが UI スレッドで何かをロックしていると思いました。私はそれを見て多くの時間を費やしましたが、最終的には、UIImage が最初に表示されたときに、UI スレッドで余分な遅延処理を行っていることに気付きました。私のワーカー スレッドには JPEG データを圧縮解除するための明示的なコードがあるため、これは私を困惑させます。
とにかく、直感で、バックグラウンド スレッドの一時的なグラフィックス コンテキストにレンダリングするコードを書きました。UIImage がワーカー スレッドにプリロードされるようになりました。ここまでは順調ですね。
問題は、私の新しい「画像の強制遅延読み込み」メソッドが信頼できないことです。断続的な EXC_BAD_ACCESS が発生します。UIImage が実際に舞台裏で何をしているのかわかりません。JPEGデータを解凍しているのかもしれません。とにかく、方法は次のとおりです。
EXC_BAD_ACCESS は CGContextDrawImage 行で発生します。質問 1: UI スレッド以外のスレッドでこれを行うことはできますか? 質問 2: UIImage が実際に「プリロード」しているのは何ですか? 質問 3: この問題を解決する公式の方法は何ですか?
すべてをお読みいただきありがとうございます。アドバイスをいただければ幸いです。
iphone - 回転した CGImage/CGlayer のアンチエイリアスはジャギーに見えますが、UIImageView はそうではありません
回転したグレースケール画像で「テクスチャ」画像をマスクする必要があります。
CGImagesまたはCGlayersを使用する必要があることがわかりました ( UIImageViewsのみを使用する簡単な方法がある場合は、お知らせください)。
私の問題は簡単です:
回転変換された CGのアンチエイリアスは静かで ギザギザです ...
...しかし、回転変換された UIImageView のアンチエイリアスは完璧です。アンチエイリアス処理された美しい回転を生成するにはどうすればよいですか?
私が何を話しているかを確認するために、実際の iPhone シミュレーターのスクリーンショットを含む「証明」をアップロードしました: http://gotoandplay.freeblog.hu/files/Proof.png
renderInContextで「キャプチャ」されたCGImages、CGLayers、UIImageViewsを使用しようとしました。 CGContextSetInterpolationQualityを高くしようとしました。
来年は OpenGL を使って学習する予定ですが、この開発は CoreGraphics のみを使用してリリースする必要があります。完全にレンダリングされた回転した画像を取得する方法を教えてください。それが不可能であることは受け入れられません。
iphone - iPhone OS 3.0 で CGImage をリリースする際の malloc エラーの原因は?
iPhone OS 3.0 SDK に対する開発中にバグを特定しました。基本的に、ビットマップ イメージ コンテキストから CGImage を作成すると、リリース時に次のエラーが発生します。
関連するコードは次のとおりです。
上記の例は自己完結型であり、保持/解放ルールに違反していないことは明らかです。3.0、3.1、および 3.1.2 の iPhone Simulator でこのコードをテストしました。この問題は 3.0 でのみ発生します。3.1以降で修正されたようです。端末での不具合は確認しておりません。