我有一個資源(.png文件)顯示圖片框架(邊框)。
此.png文件大小爲100x100px,邊框寬度爲10px。目標c - UIImage調整大小問題
我的問題:
如何從這個圖像創建另一個UIImage的,具有不同的尺寸,不毀了邊框的寬度是多少?
問題:
當我嘗試從原始圖像與CGContextDrawImage
繪製新的圖像我得到了新的尺寸新的形象,但我的邊境比例廢墟。
CGRect newRect = CGRectIntegral(CGRectMake(0, 0, newWidth, newHeight));
CGImageRef imageRef = //... the image
// Build a context that's the same dimensions as the new size
CGContextRef bitmap = CGBitmapContextCreate(NULL,
newRect.size.width,
newRect.size.height,
CGImageGetBitsPerComponent(imageRef),
0,
CGImageGetColorSpace(imageRef),
CGImageGetBitmapInfo(imageRef));
// Set the quality level to use when rescaling
CGContextSetInterpolationQuality(bitmap, kCGInterpolationHigh);
// Draw into the context; this scales the image
CGContextDrawImage(bitmap, newRect, imageRef);
// Get the resized image from the context and a UIImage
CGImageRef newImageRef = CGBitmapContextCreateImage(bitmap);
UIImage *newImage = [UIImage imageWithCGImage:newImageRef];
// Clean up
CGContextRelease(bitmap);
CGImageRelease(newImageRef);
例如,當我試圖創建一個圖像尺寸800x100p,我得到的圖像非常薄的頂部和底部邊框。
我需要的是,邊界將保持不變,寬度
*注意
使用resizableImageWithCapInsets:
不會幫助我,因爲我需要一個新形象與新的大小保存在光盤上。
是否必須是資源?我確定有一種方法可以通過編程方式添加寬度和顏色的邊框。我認爲這不是您的選擇(如果您想要自定義邊框等),只需確保。 – Sti 2013-03-10 16:29:02
雅必須是.. – Eyal 2013-03-10 17:50:18