如何從頭開始創建UIImage。具體來說,我想創建一個大小爲320x50的UIImage。然後,我希望能夠在該圖像上繪製特定顏色的多邊形。創建特定大小的UIImage
4
A
回答
5
這裏的結果創建UIImage
是你stitch picture in iphone
和基礎上我的經驗一個答案,我可以給你一些注意事項:
Propotional規模
- (UIImage *)scaleImage:(UIImage *)image toScale:(float)scaleSize { UIGraphicsBeginImageContext(CGSizeMake(image.size.width*scaleSize,image.size.height*scaleSize); [image drawInRect:CGRectMake(0, 0, image.size.width * scaleSize, image.size.height *scaleSize)]; UIImage *scaledImage = UIGraphicsGetImageFromCurrentImageContext(); UIGraphicsEndImageContext(); return scaledImage; }
調整大小
- (UIImage *)reSizeImage:(UIImage *)image toSize:(CGSize)reSize { UIGraphicsBeginImageContext(CGSizeMake(reSize.width, reSize.height)); [image drawInRect:CGRectMake(0, 0, reSize.width, reSize.height)]; UIImage *reSizeImage = UIGraphicsGetImageFromCurrentImageContext(); UIGraphicsEndImageContext(); return reSizeImage; }
處理特定視圖
您哈瓦導入QuzrtzCore.framework第一
-(UIImage*)captureView:(UIView *)theView { CGRect rect = theView.frame; UIGraphicsBeginImageContext(rect.size); CGContextRef context = UIGraphicsGetCurrentContext(); [theView.layer renderInContext:context]; UIImage *img = UIGraphicsGetImageFromCurrentImageContext(); UIGraphicsEndImageContext(); return img; }
處理一系列表格圖像
CGRect captureRect = yourRect CGRect viewRect = self.view.frame; UIImage *viewImg; UIImage *captureImg; UIGraphicsBeginImageContext(viewRect.size); CGContextRef context = UIGraphicsGetCurrentContext(); [self.view.layer renderInContext:context]; viewImg = UIGraphicsGetImageFromCurrentImageContext(); UIGraphicsEndImageContext(); captureImg = [UIImage imageWithCGImage:CGImageCreateWithImageInRect(viewImg.CGImage, captureRect)];
保存圖像
保存在應用
NSString *path = [[NSHomeDirectory() stringByAppendingPathComponent:@"Documents"] stringByAppendingPathComponent:@"image.png"]; [UIImagePNGRepresentation(image) writeToFile:path atomically:YES];
保存在相冊
CGImageRef screen = UIGetScreenImage(); UIImage* image = [UIImage imageWithCGImage:screen]; CGImageRelease(screen); UIImageWriteToSavedPhotosAlbum(image, self, nil, nil);
+0
感謝您的廣泛響應,但我不確定這些東西的意思,例如「處理範圍表單圖像」......我可以使用哪一個簡單地做一些像UIImage * newImage = [oldImage drawPolygonOnOldImage :多邊形]; – CodeGuy 2012-01-16 19:57:24
2
您可以:
- 使用顏色/像素/尺寸創建
CGBitmapContext
/等你將需要。 - 使用上下文或直接操作像素。
- 使用
CGBitmapContextCreateImage
+1
你可以展示如何做到這一點的具體細節? – CodeGuy 2012-01-17 04:09:47
相關問題
- 1. 創建特定大小
- 2. 創建特定大小的新文件
- 3. 創建特定大小的文件
- 4. 如何優化特定目標文件大小的UIImage大小?
- 5. 如何將UIImage的大小調整爲特定尺寸
- 6. 調整大小的UIImage創建CGImageContext在模擬器
- 7. 從兩個較小的UIImages創建UIImage
- 8. UIImage大小管理
- 9. 如何創建具有特定div的大小的div
- 10. 如何用特定大小的Java創建文件(不稀疏)
- 11. 創建特定大小的Java變量(字符串)
- 12. 在python中創建特定大小的文件
- 13. 創建特定大小的繪圖窗口
- 14. 如何創建特定大小的二進制文件?
- 15. 如何創建特定大小的文本文件C++
- 16. 如何創建特定大小的IHTMLWindow2對象?
- 17. UIImagePicker和UIImage的大小
- 18. UIImageView中的UIImage大小
- 19. qooxdoo創建特定ID的小工具
- 20. UIImage UIImage小+中+大如蘋果郵件
- 21. C#創建給定大小的表格
- 22. 創建固定大小的二叉樹
- 23. 豬 - 創建給定大小的組
- 24. 創建固定大小的堆棧
- 25. 如何減少UIImage大小...?
- 26. 放大和縮小爲UIImage
- 27. UIImage大小正在變化
- 28. UIImage大小在tableView Cell
- 29. UIImageJPEGRepresentation增加UIImage大小
- 30. 特定數組的大小
您可以使用Quartz Graphics輕鬆繪製圖像。如果我理解正確,你只是想在圖像上繪製一些東西?那麼在Quartz Graphics中,您可以在繪製圖像後完成Quartz Graphics繪製的繪製圖像的頂部。你可能應該看看那個;) – 2012-01-16 08:37:34