17

線や円を描くための API が Quartz にあることがわかります。しかし、私がやりたいのは、(x,y) デカルト座標を指定してピクセルを特定の値に色付けすることだけです。それ、どうやったら出来るの?

4

7 に答える 7

21
CGContextFillRect(context, CGRectMake(x,y,1,1));
于 2008-11-26T22:58:28.727 に答える
15

Quartz はピクセル指向の API ではなく、そのコンテキストは必ずしもピクセル バッファーではありません。ピックスマップを描画する場合は、 でビットマップ コンテキストを作成しますCGBitmapContextCreate()。直接操作できるバッファを提供し、それをCGImage使用して同じバッファからを作成し、CGImageCreate()それを描画することで、別のコンテキストにコピーできます。

于 2008-11-24T08:59:22.180 に答える
9

非常に小さな楕円/円を描いて塗りつぶしてください!

CGContextAddEllipseInRect(Context,(CGRectMake (x_dot, y_dot, 3.0, 3.0));
CGContextDrawPath(Context, kCGPathFill);
CGContextStrokePath(Context);

このコードを使用して、点線の音符に小さな点 (3x3 ピクセル) を作成しています。

于 2011-11-28T00:47:32.703 に答える
7

line-capsをkCGLineCapRoundに設定した後、描画するポイント(長さゼロの線)を取得しました。デフォルトのラインキャップには長さがないため、描画できません。

ポイントにサイズがないという議論はばかげています。線には幅がありませんが、線を描くことができます(描画状態の「線幅」を使用して)。ポイントはまったく同じ方法で描画する必要があり、ラインキャップが異なるとそうなると思います。

たぶん、この振る舞いは新しいのでしょうか?

于 2010-02-06T01:01:04.143 に答える
4

問題の座標に 1 ピクセルの長さの線を描くことができます。それはあなたが望むものを達成するはずです。

于 2008-11-23T22:27:43.297 に答える
0

私は同じ問題を抱えています-最良の解決策は最後のものと似ていますが、少なくとも「ダッシュ」のように見えるものは残しません...もちろん、x/yが両方とも>0であることを確認する必要があります。

CGContextFillRect(context、CGRectMake(x --0.5、y --0.5、1.0、1.0));

于 2008-12-29T23:05:55.417 に答える
0

スウィフト 3 :

 UIRectFill(CGRect(x: x, y: y, width: 1, height: 1))
于 2017-04-29T09:19:47.617 に答える