У меня есть изображение с желтой вазой на переднем плане и прозрачным фоном:
Я рисую его в CGContext:
CGContextDrawImage(context, CGRectMake(0, 0, 100, 100), myImage.CGImage);
Я могу нарисовать тень вокруг него, используя следующую инструкцию перед CGContextDrawImage
:
CGContextSetShadowWithColor(context, CGSizeMake(0,0), 5, [UIColor blueColor].CGColor);
Но я хочу поместить штрих вокруг изображения, чтобы он выглядел следующим образом:
Если я сделал это:
CGContextSetRGBStrokeColor(shadowContext, 0.0f, 0.0f, 1.0f, 1.0f);
CGContextSetLineWidth(shadowContext, 5);
CGContextStrokeRect(shadowContext, CGRectMake(0, 0, 100, 100));
Он (очевидно) рисует прямоугольную рамку вокруг всего iamge следующим образом:
Это не то, что мне нужно.
Но какой лучший способ сделать границу как в третьем изображении?
Обратите внимание, что в этом случае невозможно использовать UIImageView, поэтому использование свойств CALayer из UIImageView не применимо.