2013-01-21 13 views
0

餘米寫一個應用程序,使用戶可以籠絡一個的UIImageViewUImageView得到模糊後,我設置它的舊框框,因爲我取消縮放手勢

他也可以捏它的輸入/輸出縮放。

我已經實施了UNDO功能。

所以每用戶繪製筆畫或掐畫面時,我保存的UIImage和框架:

ImageWithFrame *imageWithFrame = [[ImageWithFrame alloc] 
    initWithImageAndFrame:imageViewSubject.image andFrame:imageViewSubject.frame]; 
    [self.tabImageForUndo addObject:imageWithFrame]; 

我想整個的UIImageView保存在我的數組,但它不工作,那這就是爲什麼我保存UIImage和框架。

而且在UNDO按鈕,用戶點擊後,我從陣列

ImageWithFrame *imageWithFrame = [self.tabImageForUndo lastObject]; 

最後imageWithFrame而我這樣做:

ImageWithFrame *imageWithFrame = [self.tabImageForUndo lastObject]; 

    self.imageViewSubject.frame = CGRectIntegral(imageWithFrame.frame); 
    self.imageViewSubject.image = imageWithFrame.image; 

    self.imageViewSubject.autoresizingMask = UIViewAutoresizingFlexibleWidth |  UIViewAutoresizingFlexibleHeight; 

    [self.tabImageForUndo removeLastObject]; 

和我情況下,只需清除圖形上下文:

UIGraphicsBeginImageContext(self.view.bounds.size); 

    CGContextRef context = UIGraphicsGetCurrentContext(); 

    CGContextClearRect(context, self.view.bounds); 

    // clean up context 
    UIGraphicsEndImageContext(); 

======================================

我的UIImageView出現了,我做了一個筆劃,我做了一個撤消操作。我做了一個捏,UIImageView被調整大小(縮小或放大),我做了撤消,所以UIImageView回到它的舊框架。

如果我畫再度中風,畫面會模糊和UIImageView的越來越小。

看看這個視頻http://tinypic.com/player.php?v=ivbkn5&s=5

我得到了同樣的效果(但整體上的UIImage,這是正常的,因爲UIImage的已經已經與中風重繪)

它已經被其他用戶上傳,從這個職位:CGContextStrokePath not working when zooming and drawing images

但我不認爲它的問題的來源是與我的相關。

請注意,如果我不捏掐,它完美的作品,所以我認爲問題是當我設置一個捏手勢後的舊框架。

我希望我足夠清楚。

感謝很多提前:)

+1

解決它[offtopic]很抱歉不知道,但我不得不說效果看起來很棒。就像「油漆」在水中分解一樣。 – basvk

回答

0

我終於用

UIGraphicsBeginImageContextWithOptions(self.imageViewSubject.bounds.size, self.imageViewSubject.opaque, 0.0); 

,而不是

UIGraphicsBeginImageContext(self.imageViewSubject.bounds.size); 
相關問題