Tôi làm cách nào để kết hợp hai pixel ARGB?Làm cách nào để kết hợp hai pixel ARGB?
Ví dụ
Ở đây A là (Red với Alpha) và B là (Blue với Alpha).
Tôi làm cách nào để kết hợp hai pixel ARGB?Làm cách nào để kết hợp hai pixel ARGB?
Ví dụ
Ở đây A là (Red với Alpha) và B là (Blue với Alpha).
Trích từ bài viết Wikipedia cùng một nơi mà bạn có hình ảnh:
Dịch với các giá trị đó nằm trong khoảng từ 0 đến 255:
rOut = (rA * aA/255) + (rB * aB * (255 - aA)/(255*255))
gOut = (gA * aA/255) + (gB * aB * (255 - aA)/(255*255))
bOut = (bA * aA/255) + (bB * aB * (255 - aA)/(255*255))
aOut = aA + (aB * (255 - aA)/255)
Có vẻ như đây là những gì bạn muốn: http://en.wikipedia.org/wiki/Alpha_compositing#Alpha_blending, nhưng tôi hơi bối rối bởi ký hiệu của bạn kể từ wikipedia nói rằng giá trị argb nên nằm trong khoảng từ 0,0 đến 1,0. Vì vậy, tôi không nghĩ rằng công thức này sẽ cung cấp cho bạn FA = 19. Bạn có thể làm rõ?
Chỉnh sửa: bây giờ bạn đã thực hiện công việc kinh doanh về FA = 19, tôi có xu hướng sử dụng công thức đó.
Bạn cũng có thể sử dụng các giá trị từ 0 đến 255 cho các thành phần RGB; nếu bạn cần sử dụng các giá trị để tính toán một cái gì đó, thì tốt hơn hết là nên sử dụng các giá trị giữa 0 và 255. Công thức có thể được thay đổi để làm việc với các giá trị từ 0 đến 255. – kiamlaluno
Tôi nghĩ rằng công thức mong đợi mỗi giá trị là một tỷ lệ phần trăm, vì vậy bạn có thể sử dụng 0.0-1.0 cho công thức và sau đó nhân với 255 sau đó. – danben
+1 để trộn alpha. Điều này có vẻ như phương pháp được yêu cầu. – keyboardP
này có thể cung cấp cho bạn một số manh mối http://stackoverflow.com/questions/1892020/mixing-two-rgb-color-vectors-to-get-resultant mặc dù nó là RGB và không phải là ARGB, khái niệm này là tương tự. –
Xin chào, tại sao FA = 19? Ngoài ra, bạn có nghĩa là loại 'trộn' nào? Một cái gì đó như thế này? http://lectureonline.cl.msu.edu/~mmp/applist/RGBColor/c.htm – keyboardP
@ o.k.w Nó hoàn toàn khác. – SunnyShah