2013-03-27 2 views
0

Я успешно смогу нарисовать на UIView например. drawScreen сiPhone бесплатно рисовать изображение и сохранять высокое качество отредактированное изображение

-(void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event 
-(void)touchesMoved:(NSSet *)touches withEvent:(UIEvent *)event 
-(void)touchesEnded:(NSSet *)touches withEvent:(UIEvent *)event 

Я добавил мой UIImageView, как подвид из выше UIView например, drawScreen, так что, похоже, вы рисуете изображение.

Теперь я хочу, чтобы сохранить изображение с рисунком, я также сделал эту часть с помощью

UIGraphicsBeginImageContext(CGSizeMake(drawScreen.frame.size.width, drawScreen.frame.size.height)); 

Проблема:
Проблема заключается в том, что приведённый сохранить изображение имеет размер drawScreen и мое исходное изображение хорошего качественный. например,

размер drawScreen является 300x300

Размер моего оригинального изображения 640x640

Размер изображения в результате также 300x300.

Как сохранить исходный размер изображения с редактированием?

ответ

0

Я могу сохранить исходное изображение с разрешением с помощью UIScrollView. У меня отключена прокрутка одиночного пальца в моем UIScrollView, только разрешено прокручивать два пальца и использовать один палец для рисования над изображением. Я использовал следующие коды, чтобы сохранить исходный размер изображения

UIGraphicsBeginImageContext(self.scrollView.contentSize); 
{ 
    CGPoint savedContentOffset = self.scrollView.contentOffset; 
    CGRect savedFrame = self.scrollView.frame; 

    self.scrollView.contentOffset = CGPointZero; 
    self.scrollView.frame = CGRectMake(0, 0, self.scrollView.contentSize.width, self.scrollView.contentSize.height); 

    [self.scrollView.layer renderInContext: UIGraphicsGetCurrentContext()]; 
    UIImage *viewImage = UIGraphicsGetImageFromCurrentImageContext(); 
    UIImageWriteToSavedPhotosAlbum(viewImage, nil, nil, nil); 
    self.scrollView.contentOffset = savedContentOffset; 
    self.scrollView.frame = savedFrame; 
} 
UIGraphicsEndImageContext(); 
1

Просто нажмите на замену drawScreen.frame.size.width и drawScreen.frame.size.height с размером оригинального изображения.

Прежде всего, вам нужно будет создать новый экземпляр UIView, который представляет собой размер вашего изображения (и добавьте его на него). Затем вам нужно будет масштабировать и перерисовывать свое искусство. В зависимости от того, как вы храните свой образ, вам нужно либо умножить свои координаты на расчетный коэффициент, либо сделать что-то, а затем увеличить его. В любом случае, вы добавите свою увеличенную графику в качестве подзаголовка поверх вашего нового UIView. Затем используйте UIGraphicsGetCurrentImageContext.

Вы хотите прочитать this documentation.

Кроме того, вы можете найти this question несколько полезных.

+0

Нет, это не сработает. Как я уже сказал, я отмечаю часть изображения, например, указывая что-то в изображении с помощью свободного круга или линий. Различные размеры вытяжного экрана и размер изображения создадут проблемы с расположением чертежей. –

+0

Что я на самом деле хочу: Просмотреть картинку 640x640 для пользователя (без прокрутки). Пользователь на данный момент и затем сохраните изображение 640x640 с рисунком. –

+0

И я потратил много часов на это усилие и не нашел ни одного учебника, примера и т. Д. –

Смежные вопросы