Я пытаюсь нарисовать красный прямоугольник над обнаруженным штрих-кодом, используя новейшие api's iOS 7. Мне удалось потянуть за границы и углы, но я не совсем понимаю, как взять эту информацию и применить ее к моему мнению.Использование штрих-кодов для создания CGRect?
В методе viewDidLoad я определить вид, что я буду использовать для наложения штрих-кода сразу найдено:
//Initialize Laser View
laserView = [[UIView alloc] init];
laserView.autoresizingMask = UIViewAutoresizingFlexibleTopMargin|UIViewAutoresizingFlexibleLeftMargin|UIViewAutoresizingFlexibleRightMargin|UIViewAutoresizingFlexibleBottomMargin;
laserView.layer.borderColor = [UIColor redColor].CGColor;
laserView.layer.borderWidth = 2;
[self.view addSubview:laserView];
В didOutputMetadataObjects я готовлю лазерный взгляд & тянуть в пределах штрих-кодов и углов:
//Prepare Laser View's frame
CGRect laser = CGRectZero;
laser = barcodeObject.bounds;
NSLog(@"Bounds: %@", NSStringFromCGRect(barcodeObject.bounds));
NSLog(@"Frame: %@", barcodeObject.corners);
//Update Laser
laserView.frame = laser;
В моем последнем счете, за пределы я получил: {{7.0565414, 314.25}, {265.26062, 1.499999}}
и углов я получил:
(
{
X = "7.056541";
Y = "314.25";
},
{
X = "7.056541";
Y = "315.75";
},
{
X = "272.3172";
Y = "315.75";
},
{
X = "272.3172";
Y = "314.25";
}
)
Я хочу быть в состоянии плотно обернуть cgrect вокруг штрих-кода. Вот пример того, что я пытаюсь сделать:
В чем Ваш вопрос? Оценки являются CGRect. –
Например, в презентации WWDC штрих-код сканируется под углом, а наложение распознает этот перекос и плотно обертывает штрих-код. Приложение redlaser также делает это. Я обновил свой ответ с фото – KingPolygon
Я вижу, в этом случае вы не используете прямоугольник (так как это всегда прямоугольник). Может быть, использовать UIBezierPath или CGPath? –