2013-05-16 59 views
1

如果我在.png文件中有單個圖像,則可以使用[UIImage imageNamed:@"nameOfPng.png"];來訪問圖像。但是如果我們在.png文件中有多個圖像,我們如何從單個UIImage訪問子圖像?如何從iPhone中的PNG文件中檢索單張圖像

enter image description here

這是一個.png文件。如果我想獲取紅色按鈕圖像或任何其他按鈕圖像,我該如何做到這一點。

+1

如果不使用核心圖形進行某些圖像處理,則無法解決問題。 –

+2

一個PNG只包含一個圖像。 –

+0

@MarcinKuptel請給我更多的想法 –

回答

2

你要做的是從當前圖像的一部分創建一個剪裁的UIImage。我通常這樣做,每次改變剪輯矩形。 srcImage是你的原始圖像。

//Set the clip rectangle 
CGRect clipRect = CGRectMake(0, 0, 100, 100); 

//Get sub image 
CGImageRef drawImage = CGImageCreateWithImageInRect(srcImage.CGImage, clipRect); 
UIImage *newImage = [UIImage imageWithCGImage:drawImage]; 
CGImageRelease(drawImage); 
+0

所以在這種情況下,我必須給每個按鈕的框架剪輯圖像。 –

+0

是的,你將用於向上狀態。與爲每個按下狀態加載單個UIImage一樣,您可以加載子圖像,然後將其分配給UIButton。值得注意的是,在使用UIImage的時候,使用紋理圖集沒什麼意義,它不會像使用OpenGLES那樣爲您節省任何內存或光盤空間。所以你可能在這裏沒有理由爲自己做很多工作。 – Dev2rights

+0

k ...感謝您的幫助... –

相關問題