Перекрытие и касание прямоугольников CoreGraphics имеют границу .5px

63
5

Мои основные графические заливки действуют странно, когда они приближаются, касаются или перекрываются. Эта проблема находится на iPhone Simulator и iPhone OS 2.2.


Здесь у нас есть две метки и пользовательский вид с двумя CGContextFillRect():


проблема перекрытия


Когда синий и красный объединяются, они развивают эту раздражающую линию слияния .5px.
Я не могу избавиться от этого или даже изменить его цвет.


Эта версия имеет 1px-зазор между прямоугольниками и, конечно, заполнена фоновой черной:


промежуток пикселей


Я попытался отключить сглаживание, но это не устраняет проблему.


- (void)drawRect:(CGRect)rect {
CGContextRef context = UIGraphicsGetCurrentContext();

CGContextSetAllowsAntialiasing(context, false);

CGContextSetRGBFillColor(context, 0.0, 0.0, 1.0, 1.0);
CGContextFillRect(context, CGRectMake(20.0, 35.0 + 40 + 20 , 100, 40));

CGContextSetRGBFillColor(context, 1.0, 0.0, 0.0, 1.0);
CGContextFillRect(context, CGRectMake(20.0 + 100 , 35.0 + 40 + 20 , 100, 40));

CGContextSetAllowsAntialiasing(context, true);


}


Любые идеи?

спросил(а) 2021-01-25T13:31:24+03:00 4 месяца, 3 недели назад
1
Решение
116

Нет дефекта. Это оптическая иллюзия. Ваш глаз интегрирует значения R & B близко друг к другу и выводит белое перекрытие.


Посмотрите на графику с pixie (часть Xcode) или xscope (платная модернизация от iconfactory).

http://www.freeimagehosting.net/uploads/th.e015daef50.png >

ответил(а) 2021-01-25T13:31:24+03:00 4 месяца, 3 недели назад
Ваш ответ
Введите минимум 50 символов
Чтобы , пожалуйста,
Выберите тему жалобы:

Другая проблема