Учитывая изображение, добавьте белый цвет ко всем окружающим областям в пределах области - iOS - PullRequest
0 голосов
/ 22 января 2012

Учитывая изображение G с размерами w x h, как я могу окружить изображение белым, чтобы получить новое изображение размером 320 x 480, где G центрировано, окружено белым. Ширина и высота входящего изображения может быть больше, чем 320 или 480, в повторном отношении, поэтому сначала мне нужно масштабировать его, чтобы убедиться, что оно меньше, чем 320x480 (или равно).

-(UIImage *)whiteVersion:(UIImage *)img {

}

Я бы использовал эти шаги:

Firstly, scale image if needed...then:
1. Create a UIImage of size 320x480
2. Paint the whole thing white
3. Paint G (the image) in the center by using some simple math to find the location

Однако я не могу понять шаг 1 или 2.

1 Ответ

5 голосов
/ 22 января 2012

Вы не рисуете в изображениях.Вы рисуете в графических контекстах.Существуют разные виды графических контекстов.Графический контекст изображения позволяет вам сделать снимок его содержимого в виде изображения.

- (UIImage *)whiteVersion:(UIImage *)myImage {
    UIGraphicsBeginImageContextWithOptions(CGSizeMake(320, 480), YES, myImage.scale);
    [[UIColor whiteColor] setFill];
    UIRectFill(CGRectInfinite);
    [myImage drawAtPoint:CGPointMake((320 - myImage.size.width) / 2, (480 - myImage.size.height) / 2)];
    UIImage *myPaddedImage = UIGraphicsGetImageFromCurrentImageContext();
    UIGraphicsEndImageContext();
    return myPaddedImage;
}

Подробнее о рисовании на iOS можно узнать, ознакомившись с Руководством по рисованию и печати для iOS * 1006.* и руководство по программированию Quartz 2D .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...