問題タブ [cgbitmapcontextcreate]

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

iphone - UIView: 非破壊的な描画を行うには?

私の元の質問:

私は単純な描画アプリケーションを作成しており、既存の以前に描画されたコンテンツをdrawRect. 完全に置き換えずに、既存のコンテンツの上に描画する適切な方法は何ですか?

ここや他の場所で受け取った回答に基づいて、これが取引です.

  1. drawRect が呼び出される たびに四角形全体を再描画する準備をしておく必要があります。

  2. 次の操作を行っても、内容が消去されるのを防ぐことはできません。

    [self setClearsContextBeforeDrawing: NO];

    これは、とにかく領域全体を再描画する必要がある可能性が高いため、ビューを事前にクリアしても意味がないというグラフィック エンジンへのヒントにすぎません。ビューが自動的に消去されるのを防ぐことができますが、それに依存することはできません

  3. 消去せずにビューの上に描画するには、オフスクリーン ビットマップ コンテキスト (システムによってクリアされることはありません) に対して描画を行います。次に、drawRectこのオフスクリーン バッファからビューにコピーします。

例:

TODOdrawRect : (通常は小さい) 変更された四角形領域のみがコピーに使用されるように、誰でも最適化できますか?

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

iphone - iPhone - UIImage リーク、ObjectAlloc ビルド

申し分なく、このメモリリークを追跡するのは困難です。このスクリプトを実行すると、メモリ リークは見られませんが、objectalloc が増加しています。Instruments は CGBitmapContextCreateImage > create_bitmap_data_provider > malloc を指します。これは objectalloc の 60% を占めます。

このコードは、NSTimer で数回呼び出されます。

reUIImage を返した後にクリアするにはどうすればよいですか?

...または UIImage imageWithCGImage が ObjectAlloc を構築しないようにするにはどうすればよいですか?

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

iphone - iPhone-複数のCGBitmapContextCreateImage呼び出し-ObjectAllocクライミング

他の誰かがこの問題に遭遇しましたか?ObjectAllocは、CGBitmapContextCreateImageの結果として上昇します。Appleのソフトウェアはobjectallocを完全にリリースしていませんか?

NSTimerを使用して1秒間に12回画像のサイズを変更しています。画像のサイズ変更中に、interpolationQualityを含めることで、ガウスぼかし効果のようなフォトショップも追加します。

Instrumentsを使用した後、メモリリークは表示されませんが、objectallocは上昇し続けます。CGBitmapContextCreateImageを直接指します。
CGBitmapContextCreateImage>create_bitmap_data_provide>malloc

誰かが解決策を知っていますか?または可能なアイデアでさえ?

NSTimer内の呼び出し

サイズ変更機能

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

iphone - iPhone:CGImageのCGImageAlphaInfoを変更する

サポートされていないビットマップグラフィックスコンテキストピクセル形式のPNG画像があります。画像のサイズを変更しようとするとCGBitmapContextCreate()、サポートされていない形式でチョークします

次のエラーが表示されます(読みやすいようにフォーマットされたエラー)。

サポートされているピクセル形式のリストは、この組み合わせを確実にサポートしていません。画像を再描画し、アルファチャネル情報をkCGImageAlphaPremultipliedFirstまたはkCGImageAlphaPremultipliedLastに移動する必要があるようです。

私はこれをどうやってやるのか分かりません。

PNGファイルに異常はなく、破損していません。他のすべてのコンテキストで問題なく機能します。このエラーは偶然に発生しましたが、明らかにユーザーが同様の形式のファイルを使用している可能性があるため、アプリのインポートされた画像を確認してこの問題を修正する必要があります。

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

iphone - CBitmapContextCreate、CGContextDrawImage、CGBitmapContextCreateImage のエラー

エラー: CGBitmapContextCreate: 無効なデータ バイト/行: 8 整数ビット/コンポーネント、3 コンポーネント、kCGImageAlphaNoneSkipFirst の場合、少なくとも 400 にする必要があります。

エラー: CGContextDrawImage: 無効なコンテキスト

エラー: CGBitmapContextCreateImage: 無効なコンテキスト

現在、私は OS 4.0 で完全に動作するアプリケーションを使用していますが、3.1.3 で正しく動作するようにしようとしており、上記のエラーが発生し続けています。

私は iPhone の開発にかなり慣れていないので、何が問題なのか正確にはわかりません。stackoverflow の別の投稿で見つけた画像サイズ変更コードを使用しています。

コードは次のとおりです。

どんな助けでも大歓迎です。さらに情報が必要な場合は、喜んで投稿します。

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

ios4 - CGContextおよびCGBitmapContextCreateImageエラー、修正方法は?

私はこれを何時間も続けており、このエラーをデバッグする方法すら知りません。たぶん、何が起こっているのかを知っているSOの専門家がいるでしょう。

}

これらは、このメソッドを呼び出すと発生するエラーです

誰かが何が起こっているのか教えてもらえますか?前もって感謝します。

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

cocoa - CGBitmapContextと16ビット画像を手伝ってください

私はここで私が間違っていることを知りたいです。私はCGImageRefsの初心者なので、アドバイスがあれば役に立ちます。

別のビットマップからのピクセルの加重和をピクセル値として持つビットマップイメージを作成しようとしています。両方のビットマップはチャネルあたり16ビットです。どういうわけか、これを8ビット画像で動作させるのに問題はありませんでしたが、16ビットでは惨めに失敗します。私の推測では、私は物事を正しく設定していないだけです。データ型としてCGFloats、float、UInt16sを使用してみましたが、何も機能しませんでした。入力画像にはアルファチャネルがありません。私が得る出力画像は、色付きの雪のように見えます。

ヘッダーからの関連するもの:

次を使用して、入力ビットマップ(CGImageSourceCreateImageAtIndex(source、0、NULL)で作成されたCGImageRef)のコンテキストを作成します。

出力ビットマップのコンテキストも同じ方法で作成されます。以下を使用して、inBitmapをinContextに描画します。

次に、inBaseAddressとoutBaseAddressを次のように初期化します。

次に、outBaseAddressにinBaseAddressの値を入力します。

簡単なチェックとして、私は試しました:

これは機能し、少なくともビットマップデータへのコンテキストとポインタが機能していることを意味します。

ご入力いただきありがとうございます。これは、8ビット画像で問題なく機能したため、かなり苛立たしいものでした。

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

uiimage - drawPatternInRect: on UIImage が Views コンテキストでのみ機能する理由

CGBitmapContextCreate 呼び出しを使用して独自のコンテキストを作成しています。コンテキストが正常に作成されました。CGContextDrawImage の呼び出しを使用して、このコンテキストで UIImage を正常に描画できます。しかし、UIImage の drawPatternInRect: 呼び出しを使用しようとすると、「Context is nil」というエラーが表示されます。

CGContextDrawImage が同じコンテキストで正常に動作しているため、 context は nil ではなく、適切に作成されていると確信しています。drawPatternInRect: 呼び出しは、コンテキストが UIView の場合、または UIView の drawRect メソッドでコンテキストを作成した場合にのみ正常に機能します。ただし、このコンテキストから UIImage を生成する必要があるため、UIView のコンテキストを使用できません。

ここで何が問題なのか、または drawPatternInRect の他の代替の単純な方法を知っている人はいますか?