передача значения RGB в CGContextSetRGBStrokeColor не работает должным образом - PullRequest
0 голосов
/ 06 февраля 2012

для Orange я передаю значение rgb 255-140-0

CGContextSetRGBStrokeColor (UIGraphicsGetCurrentContext (), красный, зеленый, синий, 1,0); Для меня его рисунок желтый! не оранжевый.

Я пытаюсь проверить какое-то случайное значение ниже 255 для CGContextSetRGBStokeColor, для меня это белый цвет. Я не знаю, почему это так!

@ ВСЕ могут мне что-нибудь посоветовать в этом вопросе

- (void)touchesMoved:(NSSet *)touches withEvent:(UIEvent *)event{


    UITouch *touch = [touches anyObject];   
    CGPoint currentPoint = [touch locationInView:drawImage];
    currentPoint.y -= 20;
    UIGraphicsBeginImageContext(drawImage.frame.size);
    [drawImage.image drawInRect:CGRectMake(0, 0, drawImage.frame.size.width, drawImage.frame.size.height)];
    CGContextSetLineCap(UIGraphicsGetCurrentContext(), kCGLineCapRound);
    CGContextSetLineWidth(UIGraphicsGetCurrentContext(), 5.0);
    CGContextSetRGBStrokeColor(UIGraphicsGetCurrentContext(), red, green, blue, 1.0);

    CGContextBeginPath(UIGraphicsGetCurrentContext());
    CGContextMoveToPoint(UIGraphicsGetCurrentContext(), lastPoint.x, lastPoint.y);
    CGContextAddLineToPoint(UIGraphicsGetCurrentContext(), currentPoint.x, currentPoint.y);
    CGContextStrokePath(UIGraphicsGetCurrentContext());
    drawImage.image = UIGraphicsGetImageFromCurrentImageContext();
    UIGraphicsEndImageContext();
}

1 Ответ

2 голосов
/ 06 февраля 2012

В документации указано, что значения, переданные для красного, зеленого и синего, являются числами с плавающей запятой

The graphics context for which to set the current stroke color.
red
The red intensity value for the color to set. The DeviceRGB color space permits the specification of a value ranging from 0.0 (zero intensity) to 1.0 (full intensity).
green
The green intensity value for the color to set. The DeviceRGB color space permits the specification of a value ranging from 0.0 (zero intensity) to 1.0 (full intensity).
blue
The blue intensity value for the color to set. The DeviceRGB color space permits the specification of a value ranging from 0.0 (zero intensity) to 1.0 (full intensity).
alpha
A value that specifies the opacity level. Values can range from 0.0 (transparent) to 1.0 (opaque). Values outside this range are clipped to 0.0 or 1.0.

Таким образом, значения должны находиться в диапазоне от 0,0 до 1,0.Вы вводите слишком большие числа. В будущем, пожалуйста, сначала проверьте документацию.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...