Кварц не является ориентированным на пиксель API и его контекстами aren’t обязательно пиксельные буферы. Если Вы хотите нарисовать пиксельные карты, создайте растровый контекст с CGBitmapContextCreate()
. Вы обеспечиваете буфер, которым Вы можете управлять непосредственно и можете скопировать в другой контекст путем создания CGImage
от того же буфера с помощью CGImageCreate()
и таща это.
Можно провести линию 1 пиксель длиной в рассматриваемой координате; это должно выполнить то, что Вы хотите.
У меня есть та же проблема - я нахожу, что лучшее решение подобно последнему, но по крайней мере это не оставляет что-то, что похоже на "тире"..., конечно, должен гарантировать, что x/y оба> 0.
CGContextFillRect (контекст, CGRectMake (x - 0.5, y - 0.5, 1.0, 1.0));
У меня есть точка (линия нулевой длины), которую нужно нарисовать после установки значений line-caps на kCGLineCapRound. Линия по умолчанию не имеет длины, поэтому ее нельзя нарисовать.
Утверждать, что точка не имеет размера, глупо. У линий нет ширины, но мы можем их нарисовать (используя «ширину линии» из состояния рисования). Точка должна рисоваться точно так же, и я думаю, что с разными окончаниями линий.
Может быть, это новое поведение?