4
A
回答
8
您可以使用核心圖像過濾器 - 特別是過濾CIMaskToAlpha
有關詳細說明這裏使用CIFilters是Apple's Core Image Programming Guide和RayWenderlich tutorial
編輯:此過濾器採用黑色像素並使它們完全透明,並用不透明的白色替代像素,用部分透明的灰色替代像素等。
-(void)setImage:(UIImage *)image_
{
UIImage *entryImage = image_;
CIContext *context = [CIContext contextWithOptions:nil];
CIImage *image = [CIImage imageWithCGImage:[entryImage CGImage]];
CIFilter *filter = [CIFilter filterWithName:@"CIMaskToAlpha"];
[filter setDefaults];
[filter setValue:image forKey:kCIInputImageKey];
// CIImage *result = [filter valueForKey:kCIOutputImageKey];
CIImage *result = [filter outputImage];
CGImageRef cgImage = [context createCGImage:result fromRect:[result extent]];
UIImage *newImage = [UIImage imageWithCGImage:cgImage scale:[entryImage scale] orientation:UIImageOrientationUp];
CGImageRelease(cgImage);
[super setImage:newImage];
}
0
圖像將是原始圖像大小的透明正方形,並且應該用白色遮罩完整的黑色區域。當我們在實際的方形圖像上覆蓋這個蒙版圖像時,輸出將是預期的圖像。
一旦你準備好了蒙版圖像,就實現蒙版圖像的功能。
//掩蔽略圖圖像
+(UIImage*) maskImage:(UIImage *)thumbImage withMask:(UIImage *)maskImage
{
CGImageRef maskRef = maskImage.CGImage;
CGImageRef mask = CGImageMaskCreate(CGImageGetWidth(maskRef),
CGImageGetHeight(maskRef),
CGImageGetBitsPerComponent(maskRef),
CGImageGetBitsPerPixel(maskRef),
CGImageGetBytesPerRow(maskRef),
CGImageGetDataProvider(maskRef), NULL, false);
CGImageRef masked = CGImageCreateWithMask([thumbImage CGImage], mask);
CGImageRelease(mask);
UIImage *maskedImage = [UIImage imageWithCGImage:masked];
CGImageRelease(masked);
return maskedImage;
}
相關問題
- 1. iOS 5黑色透明UIAlertView
- 2. 將不透明像素轉換爲黑色
- 3. 如何將UIImage中的顏色「白色」更改爲透明
- 4. iOS顏色在UIImage中透明
- 5. UIImage的透明色爲白色
- 6. 將透明PNG轉換爲JPG時覆蓋透明度顏色
- 7. 如何在iOS中將UIImage轉換爲白色
- 8. 如何將UIView轉換(編輯)爲UIImage?
- 9. 如何將背景轉換爲透明?
- 10. 透明PNG黑色
- 11. 腓IMG_FILTER_GRAYSCALE轉換透明的像素爲黑色
- 12. 轉換黑白圖像爲白色透明
- 13. 如何將PNG透明背景轉換爲JPG白色背景?
- 14. 將透明PNG圖像轉換爲透明JPEG或透明GIF
- 15. Three.js/web VR:alpha呈現黑色。如何將其設置爲透明?
- 16. 如何將背景黑色更改爲透明?
- 17. 將顏色從白色變爲透明 - UIImage
- 18. iOS:將UIImage中的黑色更改爲另一種顏色
- 19. 透明UIImage
- 20. UIBarButtonItem - 如何製作半透明黑色?
- 21. GDI System.Drawing.Printing將白色轉換爲黑色
- 22. 將StdPicture透明度顏色轉換爲白色
- 23. 將透明PNG的顏色轉換爲單色
- 24. 將C數組轉換爲UIImage(iOS版)
- 25. 透明圓圈黑色
- 26. Android透明黑色圖層?
- 27. DialogFragment刪除透明黑色
- 28. 使黑色像素透明
- 29. 透明面具顯示爲黑色
- 30. 透明背景顯示爲黑色
多麼愚蠢的理由關閉問題...沒有人被允許在這裏學習。 –