問題タブ [cgcontextdrawimage]

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 投票する
1 に答える
90 参照

ios - スケーラブル パス CGContextPath の作成

iOSでの開発は初めてです。

Core Graphics/UIKit で描画すると問題が発生します。Windowにペイントの形みたいな機能を実装したいです。

このソース: https://github.com/JagCesar/Simple-Paint-App-iOSを使用し、新しい機能を追加します。

touchesMoved のとき、touchesBegan の時点と現在のタッチ ポイントに基づいて形状を描画します。それはすべての形を描きます。

つまり、1 つのシェイプのみを作成したいのですが、touchesBegan のときにアプリがポイントを記録し、touchesMoved のときにシェイプがタッチによってスケーリングされ、touchesEnd のときにシェイプが ImageContex に描画されます。

そのためのヒントを教えていただければ幸いです。ありがとうございました。

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

ios - iOS 大きな UIView に複数の小さな画像を描画する最良の方法

UIViewを使用する非常に大きながありますCATiledLayer

その上にたくさんの小さな画像をレンダリングする必要があります。

これらの小さな画像は、1 つの大きな画像 (1024x1024) に保存されます。透明性がある場合があります。

現時点ではCGImageCreateWithImageInRect、大きな画像を使用して、CGImageRef必要な小さな画像ごとに を作成しています。

後で、drawRectを呼び出しCGContextDrawImage(context, rect, smallImage);て、必要に応じてこれらの小さな画像をそれぞれ表示します。

ただし、Instruments の Time Profiler によると、(274ms) に非常に大きなボトルネックがあり、CGContextDrawImageできる限りそれを減らしたいと考えています (OpenGL の使用を除く)。

私の質問は次のとおりですCGContextDrawImageスケーリングを必要としない代替手段はありますか? CGImageCreateWithImageInRectそれについて正しい方法を使用していますか?

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

ios - CGContextDrawImage -> ImageIO_Malloc リーク

アプリで ImageIO リークが発生する理由を理解するのに多くの時間を費やしました...誰かがこれについて私を助けてくれれば幸いです!

私は2048x1536の画像を持つ多くのUIViewControllerを含むUIPageViewControllerを持っています。最適になるように、UIImage を view.layer.contents に直接設定します。ユーザーが画像間をスワイプすると、bg スレッドに遅延ロードしてからキャッシュします。最大キャッシュ サイズがあるため、ユーザーがスワイプを続けると、ある時点でアプリが画像のアンロードとリロードを開始します。すべて正常に動作しますが、2 ~ 3 サイクルの間非常に速くスワイプし始めると、最終的に CGContextDrawImage を呼び出すときに ImageIO 内でメモリ リークが発生します。漏れは、漏れ計器内では報告されません。なぜこれが起こっているのかよくわかりません。これが私のコードです:

...

{ __weak NSOperation* weakRunningOp = [self getRunningOperationWithImagePath:imageFile];

}

これが私の楽器のスクリーンショットです。ある時点で VM : ImageIO_PNG_Data が 12mo の割り当てで表示され、消えることはありません。

ここに画像の説明を入力

ここに画像の説明を入力

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

ios - UIImageを回転させるが、エッジIOSをカットしない方法

助けてください、iOSプログラミングは初めてです。UIImageを回転させたいのですが、画像の一部を切り取ったり緩めたりしたくありません。

これは私のコードです:

画像は回転していますが、画像の一部が切り取られているため、フレームのサイズは変わりません。

出力: https://fbcdn-sphotos-ea.akamaihd.net/hphotos-ak-xpf1/t1.0-9/1555286_761679470521535_1800180000235265553_n.jpg

期待される出力: https://fbcdn-photos-ga.akamaihd.net/hphotos-ak-xfa1/t1.0-0/10314770_761675840521898_6536715783383115855_a.jpg

助けてください、ありがとう。

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

ios - CGContextDrawImage を使用したブロックで画像の位置が間違っていた

Core Text を使用してテキストを描画するために、このチュートリアルが続きました。ビューに Web イメージを追加したいと考えています。以下のコードを使用すると、ダウンロード時間を待つ以外はすべて正常に動作します。

正しい効果

しかし、このコードはメインスレッドをブロックし、コードを次のように置き換えると:

有線になると画像の位置がずれます。 間違った効果

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

ios - CGContextDrawImage ブレンディング

Objective C の方法を使用して、画像を描画しています。つまり、「スタンプ」と言うべきですCGContextDrawImage。画像は、タッチの動きによって決定されるポイントに描画されます。基本的に、「ブラシ」効果を作成するために画像をスタンプしています。次のようになります。ここに画像の説明を入力

結果には満足していますが、タッチの瞬間が遅くなると、画像が自分自身の上に描画され、必要なアルファ値が台無しになります。画像の不透明度が重ならないブレンド手法はありますか? それとも、動きが遅くなったときにポイントが近づかないようにポイントを変更することを検討する必要がありますか?

前もって感謝します。

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

ios - UISegmentControl iosで画像と垂直を中央に配置しますか?

だから私は画像とテキストの両方をに挿入しようとしていますUISegmentControl.今、segmentControl私はその上に画像を配置し、その下にテキストを配置しようとしています.UIImageのカテゴリを使用して、以下のようにタイトルを付けています.しかし、私の画像と多くの努力の後で、テキストはまだ間違って配置されています。

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

image-processing - iOS 8.1 クラッシュ (EXC_BAD_ACCESS) :: ImageIO: CGImageReadGetBytesAtOffset : *** エラー *** CGImageSource は次のデータ サイズで作成されました:

iOS アプリのクラッシュ (EXC_BAD_ACCESS) を修正するための助けを感謝します。利用可能な最新の iOS 8.1.2 を使用してアプリを iOS 8 に更新してから、この問題が発生しています。同じコードが iOS 7.x でも正常に機能しました。

私のアプリのビューの 1 つはUICollectionView. コレクション ビューのすべてのセルには画像が表示されます。画像は動的にレンダリングされ、新しいコンテンツが利用可能になると数分ごとに変化します。

セルの左上には、コレクション ビューのそのセルのテキスト ラベル/タイトルも表示されます。セル画像の色に基づいてテキスト ラベルを読みやすくするために、セルの左上にある画像の色を決定するコード (以下を参照) を用意しました。その色に基づいて、セルのテキスト ラベル/タイトル (セル内の画像の上に表示される) に白または黒の色を使用します。

以下はコードスニペットです。非常に頻繁に、次のコード行でクラッシュ EXC_BAD_ACCESS クラッシュが発生します。

CGContextDrawImage(context, CGRectMake(0, 0, 1, 1), imageRef);

Xcodeに表示されるエラーログ...

: ImageIO: CGImageReadGetBytesAtOffset : * エラー * CGImageSource はデータ サイズ: 684918 で作成されました - 現在のサイズは 526399 のみです

: ImageIO: CGImageReadGetBytesAtOffset : * エラー * CGImageSource はデータ サイズ: 203207 で作成されました - 現在のサイズは 199641 のみです

コードは以下のとおりです。この問題の解決にご協力いただきありがとうございます。