我想要實現的是拍攝一張使用iPhone相機的圖片,然後用其他一些圖片替換部分圖片...我正在考慮拍攝該圖片,然後用UIView疊加低阿爾法,但我不能只取代圖片的某些部分。如果你能給我一些想法,我會非常成功。更改圖片背景圖片
Q
更改圖片背景圖片
2
A
回答
1
對於iOS,有幾種圖像API,我理解你的困惑。 首先你有UIImage
,CocoaTouch圖像抽象。 然後你有CGImage
,圖像的CoreGraphics抽象。 此外,您還有CIImage
,圖像的CoreImage抽象。
這些都是不同的實體,不能以一個很好的無橋方式一起使用。相反,你必須轉換成不同的格式。
通常,最終你想要的是一個UIImage,你可以在一個小部件中顯示。您可以從CGImage
或CIImage
創建此圖像。 CIImage
包含高級過濾器功能,例如,您可以使用適當的合成過濾器描述其他圖像。
CIImage
以任何方式更快更好,但它在iOS中仍然不完全支持。您可能還沒有爲iOS創建自己的自定義過濾器,只有一小部分過濾器尚未得到支持。
因此,我會建議使用CGImage
爲此目的。您需要渲染到新的渲染上下文,然後從該渲染上下文創建UIImage。
這應該做的伎倆:
UIImage *originalImage = ...;
UIImage *frontImage = ...;
CGSize destinationSize = originalImage.frame.size;
UIGraphicsBeginImageContext(destinationSize);
[originalImage drawInRect:CGRectMake(0,0,destinationSize.width,destinationSize.height)];
[originalImage drawInRect:CGRectMake(10,10,destinationSize.width - 20,destinationSize.height - 20)];
UIImage *newImage = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
0
我解釋你在點 1.使用quartzcore庫 2.轉換這兩個圖像ciimage。轉換 代碼是:(有很多,我選址許多之一)
CIImage *paper1 =[CIImage imageWithData:UIImageJPEGRepresentation([UIImage imageNamed:@"heart123.png"], 1)];
現在,根據您的需要, 如..「CISourceAtopCompositing」或「CISourceOverCompositing」過濾器 ,你會得到使用過濾器你想
代碼使用它們的是什麼:
CIContext *context = [CIContext contextWithOptions:nil];
CIFilter filter= [CIFilter filterWithName:@"CISourceAtopCompositing"]; //for CISourceAtopCompositing method
[filter setDefaults];
[filter setValue:sourceImage forKey:@"inputImage"];
[filter setValue:backgroundImage forKey:@"inputBackgroundImage"];
這裏既有和backgroundImage和sourceImage是CIImage從UIImage的
轉換我們得到的UIImage編輯使用這個代碼後
CIImage *outputImage = [filter valueForKey:@"outputImage"];
CGImageRef cgImage = [context createCGImage:outputImage fromRect:[outputImage extent]];
UIImage *outputUIImage = [UIImage imageWithCGImage:cgImage];
相關問題
- 1. 更改背景圖片
- 2. 更改背景圖片div
- 3. 更改UINavigationBar背景圖片
- 4. MapKit:更改背景圖片?
- 5. 更改背景圖片
- 6. 視圖不會更改背景圖片
- 7. 更改圖庫中的背景圖片
- 8. 背景圖片
- 9. 背景圖片
- 10. 背景圖片
- 11. 購買後更改背景圖片
- 12. Tableviewcell不會更改背景圖片
- 13. 更改背景圖片bootstrap nav-pills
- 14. 更改背景圖片的URL div
- 15. 按月更改背景圖片
- 16. 在android中更改背景圖片
- 17. 如何更改背景圖片?
- 18. 用jquery更改背景圖片wbkit
- 19. 更改背景圖片順利
- 20. 更改背景圖片 - jQuery UI的
- 21. Coco2dx - 更改爲背景圖片
- 22. 按鈕點擊更改背景圖片
- 23. 更改後退按鈕背景圖片
- 24. 更改搜索欄的背景圖片
- 25. 更改背景圖片的URL
- 26. jquery - toggleClass不更改背景圖片
- 27. 更改主頁的背景圖片?
- 28. 在點擊javascript更改背景圖片
- 29. Android ImageView更改背景圖片
- 30. 更改背景圖片大小在JavaScript