Tôi đang cố gắng hòa trộn nền với hình ảnh nền trước, nơi hình ảnh nền trước là một hình ảnh trong suốt với các dòng trên đó.kết hợp hai hình ảnh dựa trên độ alpha/độ trong của hình ảnh trên cùng
Tôi đang cố gắng thực hiện theo cách này.
UIGraphicsBeginImageContext(CGSizeMake(320, 480));
CGContextRef context = UIGraphicsGetCurrentContext();
// create rect that fills screen
CGRect bounds = CGRectMake(0,0, 320, 480);
// This is my bkgnd image
CGContextDrawImage(context, bounds, [UIImage imageNamed:@"bkgnd.jpg"].CGImage);
CGContextSetBlendMode(context, kCGBlendModeSourceIn);
// This is my image to blend in
CGContextDrawImage(context, bounds, [UIImage imageNamed:@"over.png"].CGImage);
UIImage *outputImage = UIGraphicsGetImageFromCurrentImageContext();
UIImageWriteToSavedPhotosAlbum(outputImage, self, nil, nil);
// clean up drawing environment
//
UIGraphicsEndImageContext();
nhưng dường như không hoạt động.
Mọi đề xuất sẽ được đánh giá cao.
Chú thích chuyên môn: đây là đề cập đến "hòa trộn kênh alpha" (hợp lại hai hình ảnh dựa trên một kênh alpha tại một trong những hình ảnh), * không * để sử dụng Core Đồ họa "chế độ pha trộn" - tìm kiếm lại nếu đó là những gì bạn cần. Trên thực tế, [Câu trả lời của Eric] (http://stackoverflow.com/a/3188761/199364) hiển thị ngắn gọn việc sử dụng một chế độ hòa trộn; bạn có thể thay thế một chế độ hòa trộn khác ở đó và xóa "alpha: 0.8 "tham số. – ToolmakerSteve