問題タブ [cgcontextref]

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

iphone - Core Graphics を使用してエンボスまたはシャドウ効果を作成する方法 (フィンガー ペイント用)

図面に「エンボス/シャドウ効果」を実装する際に問題があります。フィンガー ペイント機能は現在、私のカスタムで正常に動作してUIViewおり、以下は私のdrawRectメソッド コードです。

すべてのメソッドでコードを編集します:

これを実装すると、ドットドットドットでペイント効果が得られます...

下の画像を参照してください (影やエンボス効果はありません)。これらの効果を追加する方法について何か考えがある場合は、提案をお願いします。どうすればこれを解決できますか?

ここに画像の説明を入力

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

ios - ViewController の外部で draw メソッドを呼び出す

次のような外部クラスでメソッドをセットアップしようとしています。

myClass.m

viewController.m

プロジェクトはビルドおよび実行されますが、ログに次のエラーが表示され、何も描画されません。

私は運がない同様の質問/例を求めてウェブを精査してきました。必要な別の/追加のパラメーターはありますか? 以外の場所から draw メソッドを呼び出す必要がありviewDidLoadますか? アドバイスをいただければ幸いです。

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

ios - iOS でビューを操作する際の説明が必要

わかりました、iTunes U (CS193P) のスタンフォードのオンライン コースで iOS のプログラミングを学んでいますが、UIView のすべての機能がどのように機能するかを正確に理解することはできません。

次のものがどのようにまとまって機能し、どのように使用する必要があるかを誰かが説明できますか?

CGContextRef CGContext(同じでない場合) drawRect awakeFromNib

前もって感謝します!

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

objective-c - UIImage の正方形ブロックを順次シフトする

私は Objective-C を初めて使用しますが、UIImage を固定サイズの正方形のブロックに分割し、それらを混合する高速なメソッドを作成する必要があります。私はすでに次の方法でそれを実装しています:

  1. UIImage を取得する
  2. PNGで表現する
  3. それを RGBA8 unsigned char 配列に変換します
  4. ブロックごとに座標を計算し、各ピクセルをブロックのピクセルと xor で置き換えます。
  5. その RGBA8 肉を新しい UIImage に組み立てます
  6. 返却する

意図したとおりに動作しますが、非常に遅いです。iPhone 4S で 1024x768 PNG を 1 つ処理するのに約 12 秒かかります。Inspector は、何らかの方法で PNGRepresentation に接続されているメソッドが、合計実行時間の約 50% を消費していることを示しています。

ここで何らかの方法で Quartz2D を使用すると、おそらく高速になりますか? 私は今、単一の長方形を _image との間でコピー/貼り付けようとしていますが、さらに先に進む方法がわかりません。blockLayer を内部に貼り付けずに、提供された _image をそのまま使用して UIImage を返します。

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

ios - IphoneピクセルRGBA値編集

私の目標は次のとおりです。

プレーヤーが画面に触れると、プログラムはそのタッチ位置のピクセルの値を見つけて、すべてのピクセルをループし、まったく同じRGBA値のものが編集されます。現時点では、それらをすべて非表示にするには、アルファを0にします。

これまでのところ、タッチしたピクセルに対応するものを見つけるために情報を削除することができましたが、ピクセルを設定し、新しいデータからUIImageを作成して設定すると、何も変わりません。

少しの助けをいただければ幸いです。

コードは次のとおりです

機能のために

(UIImage *)getRGBAsFromImage:(UIImage *)image atX:(int)xx andY:(int)yy

そしてそれはそのように呼ばれます

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

objective-c - Objective-C の画像プロパティの明確化

Objective-C で書いているクラス用にランダムに生成された画像を作成しようとしていますが、さまざまな画像のプロパティとタイプについて少し明確にしたいと思っていました。次の関数を作成したい:

-(UIImage*)randomlyGenerateAnImage;

この関数は、メンバー データを使用して、準ランダムなアルゴリズムで生成された UIImage を作成します。

UIImages、CGRects、およびCGContextRefsの関係を理解するのに本当に苦労しています。私が描くものはどれで、UIImage には何を割り当てますか。

編集 私は自分のイメージをオンザフライで生成しようとしています。

UIImage * newImage = [[UIImage alloc] "initBlankImageWithSize(X, Y)"];

CGContextRef * newContext = "getContextFromImage(newImage)";

"newContextで描画......";

newImage を返します。

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

iphone - CGContextAddArc (CGContextRef) のすべてのポイントを NSMUtableArray に格納する方法

CGContextAddArc のすべてのピクセル ポイントを NSMutableArray. または CGContextRef から NSMutable Array に保存するにはどうすればよいですか

画像ここに画像の説明を入力

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

macos - CTRunDraw() は正しい動作を実装します

CoreText を使用して MAC OS X にカスタム テキスト レイアウト アルゴリズムを実装しています。カスタム NSView サブクラス オブジェクト内の別の場所にある CTRun の一部を部分的にレンダリングする必要があります。

これが私の drawRect: メソッドの実装です。

}

このコードの出力は次の とおりですhttps://docs.google.com/open?id=0B8df1OdxKw4FYkE5Z1d1VUZQYWs

問題は CTRunDraw() メソッドが指定された範囲以外の位置に空白を挿入することです。

私が望むのは、実行の一部を正しい位置にレンダリングすることです。これが私が望む正しい出力です(正しい出力は元の出力のフォトショップです)。 https://docs.google.com/open?id=0B8df1OdxKw4FcFRnS0p1cFBfa28

注: カスタム NSView サブクラスで反転座標系を使用しています。

}

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

ios - iOS では、CGContextRelease を実行する必要がありますか?

Instruments が実行されていて、Activities Monitor が選択されている場合、iPhone 4S で実行されているアプリは、コンテキストが解放されている場合は 4.88MB を使用し、コンテキストが解放されていない場合も 4.88MB を使用するためです。つまり、コンテキストの解放はオプションですか? (実際には必要だと思いました)。コンテキストはCGContextRef変数によって参照されました。(ARC が使用されています)。

コンテキストはCGBitmapContext、Retina ディスプレイ用に作成されたので、約 640 x 640 で、4 つのコンテキストがあり、すべて で作成されviewDidAppearます。1 ピクセルが 4 バイトの場合、各コンテキストは既に 1.6MB になると思いました。完了後viewDidAppear、コンテキストが自動的に解放された可能性はありますか? 基本的に、これらのビットマップ コンテキストからオブジェクトを生成し、 ( を使用して) オブジェクトCGImageが指すように CGImage オブジェクトを設定したので、ビットマップ コンテキストは不要になりました。Xcode 4.3 と ARC を使用してコンパイルされ、iOS 4.3 を対象としています。(しかし、ARCの一部ではないと思いました)。CALayerlayer.contents = (__bridge id) cgImage;CGContextRef

更新:修正:「CGBitmapContextからCGImageオブジェクトを生成し、CGImageオブジェクトをCALayerに設定する」(元の質問はそれを反映するように編集されています)。

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

objective-c - iOS:自己の内容を変更する(UIImage)

UIImage(自己)を取得し、CGContextRefを使用して再描画するコードをUIImageカテゴリに記述しました。CGBitmapContextを使用しながらUIImage(自己)を書き直す方法はありますか?現在、CGContextRefを介して作成された画像を返すようにしていますが、そのメソッド内で画像自体を書き換えることはできますか?