Масштаб UIimage имеет diff при предварительном просмотре - PullRequest
0 голосов
/ 28 апреля 2020

Я устанавливаю точку останова после того, как мое изображение обрезано, lldb сообщает мне uiimage.scale = 2 и uiimage.size равно (200, 200);

Когда я нажимаю быстрый просмотр (значок глаза) чтобы использовать предварительный просмотр, откройте uiimage, предварительный просмотр показывает размер изображения (400 400). Это означает, что масштаб изображения равен 1, а не 2.

Как мне сделать так, чтобы масштаб изображения был равен 2?

Код, который я обрезаю Изображение удара:

+ (UIImage *)cropRetinaImage:(UIImage *)originalImage toRect:(CGRect)rect {
    if (!originalImage) return nil;
    CGImageRef imageToSplit = originalImage.CGImage;
    CGFloat scale = originalImage.scale;
    rect = CGRectMake(rect.origin.x * scale, rect.origin.y * scale, rect.size.width * scale, rect.size.height * scale);
    CGImageRef partOfImageAsCG = CGImageCreateWithImageInRect(imageToSplit, rect);
    UIImage *returnImage = [UIImage imageWithCGImage:partOfImageAsCG scale:scale orientation:originalImage.imageOrientation];
    if (partOfImageAsCG) CGImageRelease(partOfImageAsCG);
    return returnImage;
}

...