8 битный цвет в iPhone - PullRequest
       12

8 битный цвет в iPhone

0 голосов
/ 06 марта 2012

Я играю с escape-последовательностями ANSI, и у меня трудные времена с цветами.

Я пробовал с парой цветовых палитр из ANSI записи Википедии , иэто всегда происходит одинаково.Я создаю цвет с

[UIColor colorWithRed: green: blue: alpha];

И результат не имеет ничего общего с предполагаемыми цветами (я делю каждый из них на 256), большинство из которых заканчиваются тем же.Я считаю, что UIColor недостаточно, и я должен использовать CGColorRef для того, чтобы сделать перевод.Любые советы?

this is the result

Верхние цвета - "обычные", а нижние должны быть светлее восьми, но все запутано.

Вот как я создаю цвета:

+ (UIColor *) cyanANSIColor
{
    return [UIColor colorWithRed:51.0f/256.0f 
                             green:187.0f/256.0f
                             blue:200.0f/256.0f
                             alpha:1.00f];
}

+ (UIColor *) brightCyanANSIColor
{
    return [UIColor colorWithRed:85.0f/256.0f
                             green:255.0f/256.0f
                             blue:255.0f/256.0f
                             alpha:1.00f];
}

И я назначаю их каждому виду с помощью свойства

backgroundColor

.Вы можете видеть, что голубые цвета неправильны (один из них), и большинство из них выглядят одинаково.Темно-серый показывает синий.И никто не является int.

Ответы [ 3 ]

2 голосов
/ 06 марта 2012

Это то, что я получаю, когда вручную устанавливаю цвета двух видов в значения, указанные в вопросе:

enter image description here

Мой "нормальный" голубой (51 187 200) находится сверху, а светлый (85 255 255) - снизу. Но в зависимости от того, как цвета выглядят, мой верхний цвет соответствует вашему нижнему. Возможно ли, что вы не нарисовали образцы в правильном месте и, таким образом, видите фон для циана? И что другие образцы так же ошибочно нарисованы?

2 голосов
/ 06 марта 2012

Вам нужно разделить на 255, а не 256:

+ (UIColor *) cyanANSIColor
{
    return [UIColor colorWithRed:51.0f / 255.0f 
                           green:187.0f / 255.0f
                            blue:200.0f / 255.0f
                           alpha:1];
} 
0 голосов
/ 06 марта 2012

Вместо того, чтобы использовать цвет фона представления, вы пробовали Quartz или OpenGL для визуализации каждого цвета в подстроку представления CGBitmapImageRep или OpenGL ES?Если вы не разбиваете на подклассы используемые вами виды, вы не сможете определить, какой другой рисунок может повлиять на цвет каждого вида.

...