Добрый вечер коллеги.
Возвратился к не решенному вопросу.
Попробовал следующую логику. Не работает. Ошибка возникает на этапе добавления родительского слоя.
Может кто видит что не так. Нужна ваша помощь !!
//Имеем массив CAShapeLayer - прямоугольников. Создаем родительский CALayer и добавляем в него наши прямоугольники.
let arrayOfSelectedRectangels = gelImageAnalysis.arrayOfSelectedRectangles
let arrayOfNumbersForRectangles = gelImageAnalysis.arrayOfTextLayersNumbers
let parentLayer = CALayer()
for each in arrayOfSelectedRectangels
{
parentLayer.addSublayer(each)
}
for each in arrayOfNumbersForRectangles
{
parentLayer.addSublayer(each)
}
//Берем картинку из NSImageView и получаем CGimage и CGRect для него.
let rect = CGRect(origin: CGPoint.zero,
size: CGSize(width: (gelImageAnalysis.image?.size.width)!, height: (gelImageAnalysis.image?.size.height)!))
let cgImageOfGel = gelImageAnalysis.image?.cgImage(forProposedRect: nil, context: nil, hints: nil)
//создаем cgContext и рисуем в нем cgImageOfGel
let context = NSGraphicsContext.current?.cgContext
context?.draw(cgImageOfGel!, in: rect)
//рисуем в cgContext родительский слой
parentLayer.render(in: context!)
//получаем из cgContext cgImage
let cgImageOfGelWithRectangles = context?.makeImage()
//конвертируем CGImage в NSImage
let newNSImageForPrint = NSImage.init(cgImage: cgImageOfGelWithRectangles!, size: (gelImageAnalysis.image?.size)!)
//втавслянм NSImage в NSImageView
gelImageAnalysis.image = newNSImageForPrint
//Печатаем то что в NSImage