Вернуть образ из UIImage - PullRequest
       11

Вернуть образ из UIImage

14 голосов
/ 18 декабря 2010

Я хочу получить изображение из UIImage.Я искал похожий вопрос, но безрезультатно.

Я знаю диапазон пикселей, которые я хочу захватить - как я могу вернуть этот образ из существующего изображения?

Ответы [ 3 ]

26 голосов
/ 18 декабря 2010

Это должно помочь: http://iphonedevelopment.blogspot.com/2010/11/drawing-part-of-uiimage.html

Этот фрагмент кода создает категорию UIImage, но код должен быть легко изменен, чтобы он работал без категории.

Более короткий способ сделать то же самое заключается в следующем:

CGRect fromRect = CGRectMake(0, 0, 320, 480); // or whatever rectangle

CGImageRef drawImage = CGImageCreateWithImageInRect(image.CGImage, fromRect);
UIImage *newImage = [UIImage imageWithCGImage:drawImage];
CGImageRelease(drawImage);

Надеюсь, это поможет!

4 голосов
/ 28 февраля 2017

Обновлен ответ @donkim для swift 3:

    let fromRect=CGRect(x:0,y:0,width:320,height:480)
    let drawImage = image.cgImage!.cropping(to: fromRect)
    let bimage = UIImage(cgImage: drawImage!)
1 голос
/ 07 сентября 2018

В Swift 4 с учетом масштаба экрана (в противном случае ваше новое изображение будет слишком большим):

    let img = UIImage(named: "existingImage")!
    let scale = UIScreen.main.scale
    let dy: CGFloat = 6 * scale // say you want 6pt from bottom
    let area = CGRect(x: 0, y: img.size.height * scale - dy, width: img.size.width * scale, height: dy)
    let crop = img.cgImage!.cropping(to: area)!
    let subImage = UIImage(cgImage: crop, scale: scale, orientation:.up)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...