Vâng, câu trả lời này đã trở thành con thú của riêng nó. Nhiều phiên bản mới, nó đã trở nên ngu ngốc. Rất cám ơn tất cả những người đóng góp lớn cho câu trả lời này. Nhưng, để giữ cho nó đơn giản cho quần chúng. Tôi đã lưu trữ tất cả các phiên bản/lịch sử của sự tiến hóa của câu trả lời này cho GitHub của tôi. Và bắt đầu nó sạch sẽ trên Stackoverflow ở đây với phiên bản mới nhất. Một lời cảm ơn đặc biệt dành cho Mike 'Pomax' Kamermans cho phiên bản này. Anh ấy đã cho tôi toán học mới.
Hàm này [pSBC
] sẽ lấy màu web Hex hoặc RGB. pSBC
có thể che bóng tối hơn hoặc sáng hơn, hoặc trộn nó với màu thứ hai, và cũng có thể chuyển nó qua phải nhưng chuyển từ Hex sang RGB [hex2RGB] hoặc RGB sang HEX [RGB2HEX]. Tất cả mà không có bạn thậm chí biết bạn đang sử dụng định dạng màu nào.
Điều này chạy rất nhanh, có lẽ là nhanh nhất, đặc biệt là xem xét nhiều tính năng của nó. Đó là một thời gian dài trong quá trình thực hiện. Xem toàn bộ câu chuyện trên github của tôi. Nếu bạn muốn cách hoàn toàn nhỏ nhất và nhanh nhất có thể để che bóng hoặc pha trộn, hãy xem các chức năng vi mô bên dưới và sử dụng một trong những con quỷ tốc độ 2 lin. Chúng rất tốt cho các hoạt hình mạnh mẽ, nhưng phiên bản này ở đây đủ nhanh cho hầu hết các hình ảnh động.
Chức năng này sử dụng pha trộn nhật ký hoặc pha trộn tuyến tính. Tuy nhiên, nó không chuyển đổi thành HSL để làm sáng đúng hoặc tối màu. Do đó, kết quả từ chức năng này sẽ khác với các hàm lớn hơn và chậm hơn nhiều sử dụng HSL.results from this function will differ from those much larger and much slower functions that use HSL.
JSfiddle với PSBC
github> wiki psbc
Features:
- Tự động phát hiện và chấp nhận màu HEX tiêu chuẩn dưới dạng chuỗi. Ví dụ:
"#AA6622"
hoặc"#bb551144"
. - Tự động phát hiện và chấp nhận màu RGB tiêu chuẩn dưới dạng chuỗi. Ví dụ:
"rgb[123,45,76]"
hoặc"rgba[45,15,74,0.45]"
. - Màu sắc màu trắng hoặc đen theo tỷ lệ phần trăm.
- Trộn màu với nhau theo tỷ lệ phần trăm.
- HEX2RGB và RGB2HEX có chuyển đổi cùng một lúc, hoặc solo.
- Chấp nhận 3 chữ số [hoặc 4 chữ số w/ alpha] Mã màu Hex, ở dạng #RGB [hoặc #RGBA]. Nó sẽ mở rộng chúng. Ví dụ:
"#C41"
trở thành
0.// Setup: let color1 = "rgb[20,60,200]"; let color2 = "rgba[20,60,200,0.67423]"; let color3 = "#67DAF0"; let color4 = "#5567DAF0"; let color5 = "#F3A"; let color6 = "#F3A9"; let color7 = "rgb[200,60,20]"; let color8 = "rgba[200,60,20,0.98631]"; // Tests: /*** Log Blending ***/ // Shade [Lighten or Darken] pSBC [ 0.42, color1 ]; // rgb[20,60,200] + [42% Lighter] => rgb[166,171,225] pSBC [ -0.4, color5 ]; // #F3A + [40% Darker] => #c62884 pSBC [ 0.42, color8 ]; // rgba[200,60,20,0.98631] + [42% Lighter] => rgba[225,171,166,0.98631] // Shade with Conversion [use "c" as your "to" color] pSBC [ 0.42, color2, "c" ]; // rgba[20,60,200,0.67423] + [42% Lighter] + [Convert] => #a6abe1ac // RGB2Hex & Hex2RGB Conversion Only [set percentage to zero] pSBC [ 0, color6, "c" ]; // #F3A9 + [Convert] => rgba[255,51,170,0.6] // Blending pSBC [ -0.5, color2, color8 ]; // rgba[20,60,200,0.67423] + rgba[200,60,20,0.98631] + [50% Blend] => rgba[142,60,142,0.83] pSBC [ 0.7, color2, color7 ]; // rgba[20,60,200,0.67423] + rgb[200,60,20] + [70% Blend] => rgba[168,60,111,0.67423] pSBC [ 0.25, color3, color7 ]; // #67DAF0 + rgb[200,60,20] + [25% Blend] => rgb[134,191,208] pSBC [ 0.75, color7, color3 ]; // rgb[200,60,20] + #67DAF0 + [75% Blend] => #86bfd0 /*** Linear Blending ***/ // Shade [Lighten or Darken] pSBC [ 0.42, color1, false, true ]; // rgb[20,60,200] + [42% Lighter] => rgb[119,142,223] pSBC [ -0.4, color5, false, true ]; // #F3A + [40% Darker] => #991f66 pSBC [ 0.42, color8, false, true ]; // rgba[200,60,20,0.98631] + [42% Lighter] => rgba[223,142,119,0.98631] // Shade with Conversion [use "c" as your "to" color] pSBC [ 0.42, color2, "c", true ]; // rgba[20,60,200,0.67423] + [42% Lighter] + [Convert] => #778edfac // RGB2Hex & Hex2RGB Conversion Only [set percentage to zero] pSBC [ 0, color6, "c", true ]; // #F3A9 + [Convert] => rgba[255,51,170,0.6] // Blending pSBC [ -0.5, color2, color8, true ]; // rgba[20,60,200,0.67423] + rgba[200,60,20,0.98631] + [50% Blend] => rgba[110,60,110,0.83] pSBC [ 0.7, color2, color7, true ]; // rgba[20,60,200,0.67423] + rgb[200,60,20] + [70% Blend] => rgba[146,60,74,0.67423] pSBC [ 0.25, color3, color7, true ]; // #67DAF0 + rgb[200,60,20] + [25% Blend] => rgb[127,179,185] pSBC [ 0.75, color7, color3, true ]; // rgb[200,60,20] + #67DAF0 + [75% Blend] => #7fb3b9 /*** Other Stuff ***/ // Error Checking pSBC [ 0.42, "#FFBAA" ]; // #FFBAA + [42% Lighter] => null [Invalid Input Color] pSBC [ 42, color1, color5 ]; // rgb[20,60,200] + #F3A + [4200% Blend] => null [Invalid Percentage Range] pSBC [ 0.42, {} ]; // [object Object] + [42% Lighter] => null [Strings Only for Color] pSBC [ "42", color1 ]; // rgb[20,60,200] + ["42"] => null [Numbers Only for Percentage] pSBC [ 0.42, "salt" ]; // salt + [42% Lighter] => null [A Little Salt is No Good...] // Error Check Fails [Some Errors are not Caught] pSBC [ 0.42, "#salt" ]; // #salt + [42% Lighter] => #a5a5a500 [...and a Pound of Salt is Jibberish] // Ripping pSBCr [ color4 ]; // #5567DAF0 + [Rip] => [object Object] => {'r':85,'g':103,'b':218,'a':0.941}
- Chấp nhận và [tuyến tính] pha trộn các kênh alpha. Nếu màu
1 [từ] hoặc màu// Setup: let color1 = "rgb[20,60,200]"; let color2 = "rgba[20,60,200,0.67423]"; let color3 = "#67DAF0"; let color4 = "#5567DAF0"; let color5 = "#F3A"; let color6 = "#F3A9"; let color7 = "rgb[200,60,20]"; let color8 = "rgba[200,60,20,0.98631]"; // Tests: /*** Log Blending ***/ // Shade [Lighten or Darken] pSBC [ 0.42, color1 ]; // rgb[20,60,200] + [42% Lighter] => rgb[166,171,225] pSBC [ -0.4, color5 ]; // #F3A + [40% Darker] => #c62884 pSBC [ 0.42, color8 ]; // rgba[200,60,20,0.98631] + [42% Lighter] => rgba[225,171,166,0.98631] // Shade with Conversion [use "c" as your "to" color] pSBC [ 0.42, color2, "c" ]; // rgba[20,60,200,0.67423] + [42% Lighter] + [Convert] => #a6abe1ac // RGB2Hex & Hex2RGB Conversion Only [set percentage to zero] pSBC [ 0, color6, "c" ]; // #F3A9 + [Convert] => rgba[255,51,170,0.6] // Blending pSBC [ -0.5, color2, color8 ]; // rgba[20,60,200,0.67423] + rgba[200,60,20,0.98631] + [50% Blend] => rgba[142,60,142,0.83] pSBC [ 0.7, color2, color7 ]; // rgba[20,60,200,0.67423] + rgb[200,60,20] + [70% Blend] => rgba[168,60,111,0.67423] pSBC [ 0.25, color3, color7 ]; // #67DAF0 + rgb[200,60,20] + [25% Blend] => rgb[134,191,208] pSBC [ 0.75, color7, color3 ]; // rgb[200,60,20] + #67DAF0 + [75% Blend] => #86bfd0 /*** Linear Blending ***/ // Shade [Lighten or Darken] pSBC [ 0.42, color1, false, true ]; // rgb[20,60,200] + [42% Lighter] => rgb[119,142,223] pSBC [ -0.4, color5, false, true ]; // #F3A + [40% Darker] => #991f66 pSBC [ 0.42, color8, false, true ]; // rgba[200,60,20,0.98631] + [42% Lighter] => rgba[223,142,119,0.98631] // Shade with Conversion [use "c" as your "to" color] pSBC [ 0.42, color2, "c", true ]; // rgba[20,60,200,0.67423] + [42% Lighter] + [Convert] => #778edfac // RGB2Hex & Hex2RGB Conversion Only [set percentage to zero] pSBC [ 0, color6, "c", true ]; // #F3A9 + [Convert] => rgba[255,51,170,0.6] // Blending pSBC [ -0.5, color2, color8, true ]; // rgba[20,60,200,0.67423] + rgba[200,60,20,0.98631] + [50% Blend] => rgba[110,60,110,0.83] pSBC [ 0.7, color2, color7, true ]; // rgba[20,60,200,0.67423] + rgb[200,60,20] + [70% Blend] => rgba[146,60,74,0.67423] pSBC [ 0.25, color3, color7, true ]; // #67DAF0 + rgb[200,60,20] + [25% Blend] => rgb[127,179,185] pSBC [ 0.75, color7, color3, true ]; // rgb[200,60,20] + #67DAF0 + [75% Blend] => #7fb3b9 /*** Other Stuff ***/ // Error Checking pSBC [ 0.42, "#FFBAA" ]; // #FFBAA + [42% Lighter] => null [Invalid Input Color] pSBC [ 42, color1, color5 ]; // rgb[20,60,200] + #F3A + [4200% Blend] => null [Invalid Percentage Range] pSBC [ 0.42, {} ]; // [object Object] + [42% Lighter] => null [Strings Only for Color] pSBC [ "42", color1 ]; // rgb[20,60,200] + ["42"] => null [Numbers Only for Percentage] pSBC [ 0.42, "salt" ]; // salt + [42% Lighter] => null [A Little Salt is No Good...] // Error Check Fails [Some Errors are not Caught] pSBC [ 0.42, "#salt" ]; // #salt + [42% Lighter] => #a5a5a500 [...and a Pound of Salt is Jibberish] // Ripping pSBCr [ color4 ]; // #5567DAF0 + [Rip] => [object Object] => {'r':85,'g':103,'b':218,'a':0.941}
2 [đến] có kênh alpha, thì màu trả về sẽ có kênh alpha. Nếu cả hai màu có kênh alpha, thì màu được trả về sẽ là sự pha trộn tuyến tính của hai kênh alpha sử dụng tỷ lệ phần trăm được đưa ra [giống như nó là một kênh màu bình thường]. Nếu chỉ có một trong hai màu có kênh alpha, alpha này sẽ được truyền qua màu được trả về. Điều này cho phép người ta pha trộn/tô màu một màu trong suốt trong khi duy trì mức độ trong suốt. Hoặc, nếu các mức độ trong suốt cũng nên pha trộn, hãy đảm bảo cả hai màu có bảng chữ cái. Khi tô bóng, nó sẽ vượt qua kênh alpha thẳng qua. Nếu bạn muốn có bóng cơ bản cũng tạo ra kênh alpha, thì hãy sử dụng// Setup: let color1 = "rgb[20,60,200]"; let color2 = "rgba[20,60,200,0.67423]"; let color3 = "#67DAF0"; let color4 = "#5567DAF0"; let color5 = "#F3A"; let color6 = "#F3A9"; let color7 = "rgb[200,60,20]"; let color8 = "rgba[200,60,20,0.98631]"; // Tests: /*** Log Blending ***/ // Shade [Lighten or Darken] pSBC [ 0.42, color1 ]; // rgb[20,60,200] + [42% Lighter] => rgb[166,171,225] pSBC [ -0.4, color5 ]; // #F3A + [40% Darker] => #c62884 pSBC [ 0.42, color8 ]; // rgba[200,60,20,0.98631] + [42% Lighter] => rgba[225,171,166,0.98631] // Shade with Conversion [use "c" as your "to" color] pSBC [ 0.42, color2, "c" ]; // rgba[20,60,200,0.67423] + [42% Lighter] + [Convert] => #a6abe1ac // RGB2Hex & Hex2RGB Conversion Only [set percentage to zero] pSBC [ 0, color6, "c" ]; // #F3A9 + [Convert] => rgba[255,51,170,0.6] // Blending pSBC [ -0.5, color2, color8 ]; // rgba[20,60,200,0.67423] + rgba[200,60,20,0.98631] + [50% Blend] => rgba[142,60,142,0.83] pSBC [ 0.7, color2, color7 ]; // rgba[20,60,200,0.67423] + rgb[200,60,20] + [70% Blend] => rgba[168,60,111,0.67423] pSBC [ 0.25, color3, color7 ]; // #67DAF0 + rgb[200,60,20] + [25% Blend] => rgb[134,191,208] pSBC [ 0.75, color7, color3 ]; // rgb[200,60,20] + #67DAF0 + [75% Blend] => #86bfd0 /*** Linear Blending ***/ // Shade [Lighten or Darken] pSBC [ 0.42, color1, false, true ]; // rgb[20,60,200] + [42% Lighter] => rgb[119,142,223] pSBC [ -0.4, color5, false, true ]; // #F3A + [40% Darker] => #991f66 pSBC [ 0.42, color8, false, true ]; // rgba[200,60,20,0.98631] + [42% Lighter] => rgba[223,142,119,0.98631] // Shade with Conversion [use "c" as your "to" color] pSBC [ 0.42, color2, "c", true ]; // rgba[20,60,200,0.67423] + [42% Lighter] + [Convert] => #778edfac // RGB2Hex & Hex2RGB Conversion Only [set percentage to zero] pSBC [ 0, color6, "c", true ]; // #F3A9 + [Convert] => rgba[255,51,170,0.6] // Blending pSBC [ -0.5, color2, color8, true ]; // rgba[20,60,200,0.67423] + rgba[200,60,20,0.98631] + [50% Blend] => rgba[110,60,110,0.83] pSBC [ 0.7, color2, color7, true ]; // rgba[20,60,200,0.67423] + rgb[200,60,20] + [70% Blend] => rgba[146,60,74,0.67423] pSBC [ 0.25, color3, color7, true ]; // #67DAF0 + rgb[200,60,20] + [25% Blend] => rgb[127,179,185] pSBC [ 0.75, color7, color3, true ]; // rgb[200,60,20] + #67DAF0 + [75% Blend] => #7fb3b9 /*** Other Stuff ***/ // Error Checking pSBC [ 0.42, "#FFBAA" ]; // #FFBAA + [42% Lighter] => null [Invalid Input Color] pSBC [ 42, color1, color5 ]; // rgb[20,60,200] + #F3A + [4200% Blend] => null [Invalid Percentage Range] pSBC [ 0.42, {} ]; // [object Object] + [42% Lighter] => null [Strings Only for Color] pSBC [ "42", color1 ]; // rgb[20,60,200] + ["42"] => null [Numbers Only for Percentage] pSBC [ 0.42, "salt" ]; // salt + [42% Lighter] => null [A Little Salt is No Good...] // Error Check Fails [Some Errors are not Caught] pSBC [ 0.42, "#salt" ]; // #salt + [42% Lighter] => #a5a5a500 [...and a Pound of Salt is Jibberish] // Ripping pSBCr [ color4 ]; // #5567DAF0 + [Rip] => [object Object] => {'r':85,'g':103,'b':218,'a':0.941}
3 hoặc// Setup: let color1 = "rgb[20,60,200]"; let color2 = "rgba[20,60,200,0.67423]"; let color3 = "#67DAF0"; let color4 = "#5567DAF0"; let color5 = "#F3A"; let color6 = "#F3A9"; let color7 = "rgb[200,60,20]"; let color8 = "rgba[200,60,20,0.98631]"; // Tests: /*** Log Blending ***/ // Shade [Lighten or Darken] pSBC [ 0.42, color1 ]; // rgb[20,60,200] + [42% Lighter] => rgb[166,171,225] pSBC [ -0.4, color5 ]; // #F3A + [40% Darker] => #c62884 pSBC [ 0.42, color8 ]; // rgba[200,60,20,0.98631] + [42% Lighter] => rgba[225,171,166,0.98631] // Shade with Conversion [use "c" as your "to" color] pSBC [ 0.42, color2, "c" ]; // rgba[20,60,200,0.67423] + [42% Lighter] + [Convert] => #a6abe1ac // RGB2Hex & Hex2RGB Conversion Only [set percentage to zero] pSBC [ 0, color6, "c" ]; // #F3A9 + [Convert] => rgba[255,51,170,0.6] // Blending pSBC [ -0.5, color2, color8 ]; // rgba[20,60,200,0.67423] + rgba[200,60,20,0.98631] + [50% Blend] => rgba[142,60,142,0.83] pSBC [ 0.7, color2, color7 ]; // rgba[20,60,200,0.67423] + rgb[200,60,20] + [70% Blend] => rgba[168,60,111,0.67423] pSBC [ 0.25, color3, color7 ]; // #67DAF0 + rgb[200,60,20] + [25% Blend] => rgb[134,191,208] pSBC [ 0.75, color7, color3 ]; // rgb[200,60,20] + #67DAF0 + [75% Blend] => #86bfd0 /*** Linear Blending ***/ // Shade [Lighten or Darken] pSBC [ 0.42, color1, false, true ]; // rgb[20,60,200] + [42% Lighter] => rgb[119,142,223] pSBC [ -0.4, color5, false, true ]; // #F3A + [40% Darker] => #991f66 pSBC [ 0.42, color8, false, true ]; // rgba[200,60,20,0.98631] + [42% Lighter] => rgba[223,142,119,0.98631] // Shade with Conversion [use "c" as your "to" color] pSBC [ 0.42, color2, "c", true ]; // rgba[20,60,200,0.67423] + [42% Lighter] + [Convert] => #778edfac // RGB2Hex & Hex2RGB Conversion Only [set percentage to zero] pSBC [ 0, color6, "c", true ]; // #F3A9 + [Convert] => rgba[255,51,170,0.6] // Blending pSBC [ -0.5, color2, color8, true ]; // rgba[20,60,200,0.67423] + rgba[200,60,20,0.98631] + [50% Blend] => rgba[110,60,110,0.83] pSBC [ 0.7, color2, color7, true ]; // rgba[20,60,200,0.67423] + rgb[200,60,20] + [70% Blend] => rgba[146,60,74,0.67423] pSBC [ 0.25, color3, color7, true ]; // #67DAF0 + rgb[200,60,20] + [25% Blend] => rgb[127,179,185] pSBC [ 0.75, color7, color3, true ]; // rgb[200,60,20] + #67DAF0 + [75% Blend] => #7fb3b9 /*** Other Stuff ***/ // Error Checking pSBC [ 0.42, "#FFBAA" ]; // #FFBAA + [42% Lighter] => null [Invalid Input Color] pSBC [ 42, color1, color5 ]; // rgb[20,60,200] + #F3A + [4200% Blend] => null [Invalid Percentage Range] pSBC [ 0.42, {} ]; // [object Object] + [42% Lighter] => null [Strings Only for Color] pSBC [ "42", color1 ]; // rgb[20,60,200] + ["42"] => null [Numbers Only for Percentage] pSBC [ 0.42, "salt" ]; // salt + [42% Lighter] => null [A Little Salt is No Good...] // Error Check Fails [Some Errors are not Caught] pSBC [ 0.42, "#salt" ]; // #salt + [42% Lighter] => #a5a5a500 [...and a Pound of Salt is Jibberish] // Ripping pSBCr [ color4 ]; // #5567DAF0 + [Rip] => [object Object] => {'r':85,'g':103,'b':218,'a':0.941}
4 làm màu// Setup: let color1 = "rgb[20,60,200]"; let color2 = "rgba[20,60,200,0.67423]"; let color3 = "#67DAF0"; let color4 = "#5567DAF0"; let color5 = "#F3A"; let color6 = "#F3A9"; let color7 = "rgb[200,60,20]"; let color8 = "rgba[200,60,20,0.98631]"; // Tests: /*** Log Blending ***/ // Shade [Lighten or Darken] pSBC [ 0.42, color1 ]; // rgb[20,60,200] + [42% Lighter] => rgb[166,171,225] pSBC [ -0.4, color5 ]; // #F3A + [40% Darker] => #c62884 pSBC [ 0.42, color8 ]; // rgba[200,60,20,0.98631] + [42% Lighter] => rgba[225,171,166,0.98631] // Shade with Conversion [use "c" as your "to" color] pSBC [ 0.42, color2, "c" ]; // rgba[20,60,200,0.67423] + [42% Lighter] + [Convert] => #a6abe1ac // RGB2Hex & Hex2RGB Conversion Only [set percentage to zero] pSBC [ 0, color6, "c" ]; // #F3A9 + [Convert] => rgba[255,51,170,0.6] // Blending pSBC [ -0.5, color2, color8 ]; // rgba[20,60,200,0.67423] + rgba[200,60,20,0.98631] + [50% Blend] => rgba[142,60,142,0.83] pSBC [ 0.7, color2, color7 ]; // rgba[20,60,200,0.67423] + rgb[200,60,20] + [70% Blend] => rgba[168,60,111,0.67423] pSBC [ 0.25, color3, color7 ]; // #67DAF0 + rgb[200,60,20] + [25% Blend] => rgb[134,191,208] pSBC [ 0.75, color7, color3 ]; // rgb[200,60,20] + #67DAF0 + [75% Blend] => #86bfd0 /*** Linear Blending ***/ // Shade [Lighten or Darken] pSBC [ 0.42, color1, false, true ]; // rgb[20,60,200] + [42% Lighter] => rgb[119,142,223] pSBC [ -0.4, color5, false, true ]; // #F3A + [40% Darker] => #991f66 pSBC [ 0.42, color8, false, true ]; // rgba[200,60,20,0.98631] + [42% Lighter] => rgba[223,142,119,0.98631] // Shade with Conversion [use "c" as your "to" color] pSBC [ 0.42, color2, "c", true ]; // rgba[20,60,200,0.67423] + [42% Lighter] + [Convert] => #778edfac // RGB2Hex & Hex2RGB Conversion Only [set percentage to zero] pSBC [ 0, color6, "c", true ]; // #F3A9 + [Convert] => rgba[255,51,170,0.6] // Blending pSBC [ -0.5, color2, color8, true ]; // rgba[20,60,200,0.67423] + rgba[200,60,20,0.98631] + [50% Blend] => rgba[110,60,110,0.83] pSBC [ 0.7, color2, color7, true ]; // rgba[20,60,200,0.67423] + rgb[200,60,20] + [70% Blend] => rgba[146,60,74,0.67423] pSBC [ 0.25, color3, color7, true ]; // #67DAF0 + rgb[200,60,20] + [25% Blend] => rgb[127,179,185] pSBC [ 0.75, color7, color3, true ]; // rgb[200,60,20] + #67DAF0 + [75% Blend] => #7fb3b9 /*** Other Stuff ***/ // Error Checking pSBC [ 0.42, "#FFBAA" ]; // #FFBAA + [42% Lighter] => null [Invalid Input Color] pSBC [ 42, color1, color5 ]; // rgb[20,60,200] + #F3A + [4200% Blend] => null [Invalid Percentage Range] pSBC [ 0.42, {} ]; // [object Object] + [42% Lighter] => null [Strings Only for Color] pSBC [ "42", color1 ]; // rgb[20,60,200] + ["42"] => null [Numbers Only for Percentage] pSBC [ 0.42, "salt" ]; // salt + [42% Lighter] => null [A Little Salt is No Good...] // Error Check Fails [Some Errors are not Caught] pSBC [ 0.42, "#salt" ]; // #salt + [42% Lighter] => #a5a5a500 [...and a Pound of Salt is Jibberish] // Ripping pSBCr [ color4 ]; // #5567DAF0 + [Rip] => [object Object] => {'r':85,'g':103,'b':218,'a':0.941}
2 [đến] của bạn [hoặc tương đương hex của chúng]. Đối với các màu RGB, kênh alpha màu được trả lại sẽ được làm tròn đến 3 số thập phân.// Setup: let color1 = "rgb[20,60,200]"; let color2 = "rgba[20,60,200,0.67423]"; let color3 = "#67DAF0"; let color4 = "#5567DAF0"; let color5 = "#F3A"; let color6 = "#F3A9"; let color7 = "rgb[200,60,20]"; let color8 = "rgba[200,60,20,0.98631]"; // Tests: /*** Log Blending ***/ // Shade [Lighten or Darken] pSBC [ 0.42, color1 ]; // rgb[20,60,200] + [42% Lighter] => rgb[166,171,225] pSBC [ -0.4, color5 ]; // #F3A + [40% Darker] => #c62884 pSBC [ 0.42, color8 ]; // rgba[200,60,20,0.98631] + [42% Lighter] => rgba[225,171,166,0.98631] // Shade with Conversion [use "c" as your "to" color] pSBC [ 0.42, color2, "c" ]; // rgba[20,60,200,0.67423] + [42% Lighter] + [Convert] => #a6abe1ac // RGB2Hex & Hex2RGB Conversion Only [set percentage to zero] pSBC [ 0, color6, "c" ]; // #F3A9 + [Convert] => rgba[255,51,170,0.6] // Blending pSBC [ -0.5, color2, color8 ]; // rgba[20,60,200,0.67423] + rgba[200,60,20,0.98631] + [50% Blend] => rgba[142,60,142,0.83] pSBC [ 0.7, color2, color7 ]; // rgba[20,60,200,0.67423] + rgb[200,60,20] + [70% Blend] => rgba[168,60,111,0.67423] pSBC [ 0.25, color3, color7 ]; // #67DAF0 + rgb[200,60,20] + [25% Blend] => rgb[134,191,208] pSBC [ 0.75, color7, color3 ]; // rgb[200,60,20] + #67DAF0 + [75% Blend] => #86bfd0 /*** Linear Blending ***/ // Shade [Lighten or Darken] pSBC [ 0.42, color1, false, true ]; // rgb[20,60,200] + [42% Lighter] => rgb[119,142,223] pSBC [ -0.4, color5, false, true ]; // #F3A + [40% Darker] => #991f66 pSBC [ 0.42, color8, false, true ]; // rgba[200,60,20,0.98631] + [42% Lighter] => rgba[223,142,119,0.98631] // Shade with Conversion [use "c" as your "to" color] pSBC [ 0.42, color2, "c", true ]; // rgba[20,60,200,0.67423] + [42% Lighter] + [Convert] => #778edfac // RGB2Hex & Hex2RGB Conversion Only [set percentage to zero] pSBC [ 0, color6, "c", true ]; // #F3A9 + [Convert] => rgba[255,51,170,0.6] // Blending pSBC [ -0.5, color2, color8, true ]; // rgba[20,60,200,0.67423] + rgba[200,60,20,0.98631] + [50% Blend] => rgba[110,60,110,0.83] pSBC [ 0.7, color2, color7, true ]; // rgba[20,60,200,0.67423] + rgb[200,60,20] + [70% Blend] => rgba[146,60,74,0.67423] pSBC [ 0.25, color3, color7, true ]; // #67DAF0 + rgb[200,60,20] + [25% Blend] => rgb[127,179,185] pSBC [ 0.75, color7, color3, true ]; // rgb[200,60,20] + #67DAF0 + [75% Blend] => #7fb3b9 /*** Other Stuff ***/ // Error Checking pSBC [ 0.42, "#FFBAA" ]; // #FFBAA + [42% Lighter] => null [Invalid Input Color] pSBC [ 42, color1, color5 ]; // rgb[20,60,200] + #F3A + [4200% Blend] => null [Invalid Percentage Range] pSBC [ 0.42, {} ]; // [object Object] + [42% Lighter] => null [Strings Only for Color] pSBC [ "42", color1 ]; // rgb[20,60,200] + ["42"] => null [Numbers Only for Percentage] pSBC [ 0.42, "salt" ]; // salt + [42% Lighter] => null [A Little Salt is No Good...] // Error Check Fails [Some Errors are not Caught] pSBC [ 0.42, "#salt" ]; // #salt + [42% Lighter] => #a5a5a500 [...and a Pound of Salt is Jibberish] // Ripping pSBCr [ color4 ]; // #5567DAF0 + [Rip] => [object Object] => {'r':85,'g':103,'b':218,'a':0.941}
- Chuyển đổi RGB2HEX và HEX2RGB được ẩn khi sử dụng pha trộn. Bất kể màu
1 [từ]; Màu được trả về sẽ luôn ở định dạng màu của màu// Setup: let color1 = "rgb[20,60,200]"; let color2 = "rgba[20,60,200,0.67423]"; let color3 = "#67DAF0"; let color4 = "#5567DAF0"; let color5 = "#F3A"; let color6 = "#F3A9"; let color7 = "rgb[200,60,20]"; let color8 = "rgba[200,60,20,0.98631]"; // Tests: /*** Log Blending ***/ // Shade [Lighten or Darken] pSBC [ 0.42, color1 ]; // rgb[20,60,200] + [42% Lighter] => rgb[166,171,225] pSBC [ -0.4, color5 ]; // #F3A + [40% Darker] => #c62884 pSBC [ 0.42, color8 ]; // rgba[200,60,20,0.98631] + [42% Lighter] => rgba[225,171,166,0.98631] // Shade with Conversion [use "c" as your "to" color] pSBC [ 0.42, color2, "c" ]; // rgba[20,60,200,0.67423] + [42% Lighter] + [Convert] => #a6abe1ac // RGB2Hex & Hex2RGB Conversion Only [set percentage to zero] pSBC [ 0, color6, "c" ]; // #F3A9 + [Convert] => rgba[255,51,170,0.6] // Blending pSBC [ -0.5, color2, color8 ]; // rgba[20,60,200,0.67423] + rgba[200,60,20,0.98631] + [50% Blend] => rgba[142,60,142,0.83] pSBC [ 0.7, color2, color7 ]; // rgba[20,60,200,0.67423] + rgb[200,60,20] + [70% Blend] => rgba[168,60,111,0.67423] pSBC [ 0.25, color3, color7 ]; // #67DAF0 + rgb[200,60,20] + [25% Blend] => rgb[134,191,208] pSBC [ 0.75, color7, color3 ]; // rgb[200,60,20] + #67DAF0 + [75% Blend] => #86bfd0 /*** Linear Blending ***/ // Shade [Lighten or Darken] pSBC [ 0.42, color1, false, true ]; // rgb[20,60,200] + [42% Lighter] => rgb[119,142,223] pSBC [ -0.4, color5, false, true ]; // #F3A + [40% Darker] => #991f66 pSBC [ 0.42, color8, false, true ]; // rgba[200,60,20,0.98631] + [42% Lighter] => rgba[223,142,119,0.98631] // Shade with Conversion [use "c" as your "to" color] pSBC [ 0.42, color2, "c", true ]; // rgba[20,60,200,0.67423] + [42% Lighter] + [Convert] => #778edfac // RGB2Hex & Hex2RGB Conversion Only [set percentage to zero] pSBC [ 0, color6, "c", true ]; // #F3A9 + [Convert] => rgba[255,51,170,0.6] // Blending pSBC [ -0.5, color2, color8, true ]; // rgba[20,60,200,0.67423] + rgba[200,60,20,0.98631] + [50% Blend] => rgba[110,60,110,0.83] pSBC [ 0.7, color2, color7, true ]; // rgba[20,60,200,0.67423] + rgb[200,60,20] + [70% Blend] => rgba[146,60,74,0.67423] pSBC [ 0.25, color3, color7, true ]; // #67DAF0 + rgb[200,60,20] + [25% Blend] => rgb[127,179,185] pSBC [ 0.75, color7, color3, true ]; // rgb[200,60,20] + #67DAF0 + [75% Blend] => #7fb3b9 /*** Other Stuff ***/ // Error Checking pSBC [ 0.42, "#FFBAA" ]; // #FFBAA + [42% Lighter] => null [Invalid Input Color] pSBC [ 42, color1, color5 ]; // rgb[20,60,200] + #F3A + [4200% Blend] => null [Invalid Percentage Range] pSBC [ 0.42, {} ]; // [object Object] + [42% Lighter] => null [Strings Only for Color] pSBC [ "42", color1 ]; // rgb[20,60,200] + ["42"] => null [Numbers Only for Percentage] pSBC [ 0.42, "salt" ]; // salt + [42% Lighter] => null [A Little Salt is No Good...] // Error Check Fails [Some Errors are not Caught] pSBC [ 0.42, "#salt" ]; // #salt + [42% Lighter] => #a5a5a500 [...and a Pound of Salt is Jibberish] // Ripping pSBCr [ color4 ]; // #5567DAF0 + [Rip] => [object Object] => {'r':85,'g':103,'b':218,'a':0.941}
2 [đến], nếu một người tồn tại. Nếu không có màu// Setup: let color1 = "rgb[20,60,200]"; let color2 = "rgba[20,60,200,0.67423]"; let color3 = "#67DAF0"; let color4 = "#5567DAF0"; let color5 = "#F3A"; let color6 = "#F3A9"; let color7 = "rgb[200,60,20]"; let color8 = "rgba[200,60,20,0.98631]"; // Tests: /*** Log Blending ***/ // Shade [Lighten or Darken] pSBC [ 0.42, color1 ]; // rgb[20,60,200] + [42% Lighter] => rgb[166,171,225] pSBC [ -0.4, color5 ]; // #F3A + [40% Darker] => #c62884 pSBC [ 0.42, color8 ]; // rgba[200,60,20,0.98631] + [42% Lighter] => rgba[225,171,166,0.98631] // Shade with Conversion [use "c" as your "to" color] pSBC [ 0.42, color2, "c" ]; // rgba[20,60,200,0.67423] + [42% Lighter] + [Convert] => #a6abe1ac // RGB2Hex & Hex2RGB Conversion Only [set percentage to zero] pSBC [ 0, color6, "c" ]; // #F3A9 + [Convert] => rgba[255,51,170,0.6] // Blending pSBC [ -0.5, color2, color8 ]; // rgba[20,60,200,0.67423] + rgba[200,60,20,0.98631] + [50% Blend] => rgba[142,60,142,0.83] pSBC [ 0.7, color2, color7 ]; // rgba[20,60,200,0.67423] + rgb[200,60,20] + [70% Blend] => rgba[168,60,111,0.67423] pSBC [ 0.25, color3, color7 ]; // #67DAF0 + rgb[200,60,20] + [25% Blend] => rgb[134,191,208] pSBC [ 0.75, color7, color3 ]; // rgb[200,60,20] + #67DAF0 + [75% Blend] => #86bfd0 /*** Linear Blending ***/ // Shade [Lighten or Darken] pSBC [ 0.42, color1, false, true ]; // rgb[20,60,200] + [42% Lighter] => rgb[119,142,223] pSBC [ -0.4, color5, false, true ]; // #F3A + [40% Darker] => #991f66 pSBC [ 0.42, color8, false, true ]; // rgba[200,60,20,0.98631] + [42% Lighter] => rgba[223,142,119,0.98631] // Shade with Conversion [use "c" as your "to" color] pSBC [ 0.42, color2, "c", true ]; // rgba[20,60,200,0.67423] + [42% Lighter] + [Convert] => #778edfac // RGB2Hex & Hex2RGB Conversion Only [set percentage to zero] pSBC [ 0, color6, "c", true ]; // #F3A9 + [Convert] => rgba[255,51,170,0.6] // Blending pSBC [ -0.5, color2, color8, true ]; // rgba[20,60,200,0.67423] + rgba[200,60,20,0.98631] + [50% Blend] => rgba[110,60,110,0.83] pSBC [ 0.7, color2, color7, true ]; // rgba[20,60,200,0.67423] + rgb[200,60,20] + [70% Blend] => rgba[146,60,74,0.67423] pSBC [ 0.25, color3, color7, true ]; // #67DAF0 + rgb[200,60,20] + [25% Blend] => rgb[127,179,185] pSBC [ 0.75, color7, color3, true ]; // rgb[200,60,20] + #67DAF0 + [75% Blend] => #7fb3b9 /*** Other Stuff ***/ // Error Checking pSBC [ 0.42, "#FFBAA" ]; // #FFBAA + [42% Lighter] => null [Invalid Input Color] pSBC [ 42, color1, color5 ]; // rgb[20,60,200] + #F3A + [4200% Blend] => null [Invalid Percentage Range] pSBC [ 0.42, {} ]; // [object Object] + [42% Lighter] => null [Strings Only for Color] pSBC [ "42", color1 ]; // rgb[20,60,200] + ["42"] => null [Numbers Only for Percentage] pSBC [ 0.42, "salt" ]; // salt + [42% Lighter] => null [A Little Salt is No Good...] // Error Check Fails [Some Errors are not Caught] pSBC [ 0.42, "#salt" ]; // #salt + [42% Lighter] => #a5a5a500 [...and a Pound of Salt is Jibberish] // Ripping pSBCr [ color4 ]; // #5567DAF0 + [Rip] => [object Object] => {'r':85,'g':103,'b':218,'a':0.941}
2 [đến], thì hãy truyền// Setup: let color1 = "rgb[20,60,200]"; let color2 = "rgba[20,60,200,0.67423]"; let color3 = "#67DAF0"; let color4 = "#5567DAF0"; let color5 = "#F3A"; let color6 = "#F3A9"; let color7 = "rgb[200,60,20]"; let color8 = "rgba[200,60,20,0.98631]"; // Tests: /*** Log Blending ***/ // Shade [Lighten or Darken] pSBC [ 0.42, color1 ]; // rgb[20,60,200] + [42% Lighter] => rgb[166,171,225] pSBC [ -0.4, color5 ]; // #F3A + [40% Darker] => #c62884 pSBC [ 0.42, color8 ]; // rgba[200,60,20,0.98631] + [42% Lighter] => rgba[225,171,166,0.98631] // Shade with Conversion [use "c" as your "to" color] pSBC [ 0.42, color2, "c" ]; // rgba[20,60,200,0.67423] + [42% Lighter] + [Convert] => #a6abe1ac // RGB2Hex & Hex2RGB Conversion Only [set percentage to zero] pSBC [ 0, color6, "c" ]; // #F3A9 + [Convert] => rgba[255,51,170,0.6] // Blending pSBC [ -0.5, color2, color8 ]; // rgba[20,60,200,0.67423] + rgba[200,60,20,0.98631] + [50% Blend] => rgba[142,60,142,0.83] pSBC [ 0.7, color2, color7 ]; // rgba[20,60,200,0.67423] + rgb[200,60,20] + [70% Blend] => rgba[168,60,111,0.67423] pSBC [ 0.25, color3, color7 ]; // #67DAF0 + rgb[200,60,20] + [25% Blend] => rgb[134,191,208] pSBC [ 0.75, color7, color3 ]; // rgb[200,60,20] + #67DAF0 + [75% Blend] => #86bfd0 /*** Linear Blending ***/ // Shade [Lighten or Darken] pSBC [ 0.42, color1, false, true ]; // rgb[20,60,200] + [42% Lighter] => rgb[119,142,223] pSBC [ -0.4, color5, false, true ]; // #F3A + [40% Darker] => #991f66 pSBC [ 0.42, color8, false, true ]; // rgba[200,60,20,0.98631] + [42% Lighter] => rgba[223,142,119,0.98631] // Shade with Conversion [use "c" as your "to" color] pSBC [ 0.42, color2, "c", true ]; // rgba[20,60,200,0.67423] + [42% Lighter] + [Convert] => #778edfac // RGB2Hex & Hex2RGB Conversion Only [set percentage to zero] pSBC [ 0, color6, "c", true ]; // #F3A9 + [Convert] => rgba[255,51,170,0.6] // Blending pSBC [ -0.5, color2, color8, true ]; // rgba[20,60,200,0.67423] + rgba[200,60,20,0.98631] + [50% Blend] => rgba[110,60,110,0.83] pSBC [ 0.7, color2, color7, true ]; // rgba[20,60,200,0.67423] + rgb[200,60,20] + [70% Blend] => rgba[146,60,74,0.67423] pSBC [ 0.25, color3, color7, true ]; // #67DAF0 + rgb[200,60,20] + [25% Blend] => rgb[127,179,185] pSBC [ 0.75, color7, color3, true ]; // rgb[200,60,20] + #67DAF0 + [75% Blend] => #7fb3b9 /*** Other Stuff ***/ // Error Checking pSBC [ 0.42, "#FFBAA" ]; // #FFBAA + [42% Lighter] => null [Invalid Input Color] pSBC [ 42, color1, color5 ]; // rgb[20,60,200] + #F3A + [4200% Blend] => null [Invalid Percentage Range] pSBC [ 0.42, {} ]; // [object Object] + [42% Lighter] => null [Strings Only for Color] pSBC [ "42", color1 ]; // rgb[20,60,200] + ["42"] => null [Numbers Only for Percentage] pSBC [ 0.42, "salt" ]; // salt + [42% Lighter] => null [A Little Salt is No Good...] // Error Check Fails [Some Errors are not Caught] pSBC [ 0.42, "#salt" ]; // #salt + [42% Lighter] => #a5a5a500 [...and a Pound of Salt is Jibberish] // Ripping pSBCr [ color4 ]; // #5567DAF0 + [Rip] => [object Object] => {'r':85,'g':103,'b':218,'a':0.941}
9 dưới dạng màu// Setup: let color1 = "rgb[20,60,200]"; let color2 = "rgba[20,60,200,0.67423]"; let color3 = "#67DAF0"; let color4 = "#5567DAF0"; let color5 = "#F3A"; let color6 = "#F3A9"; let color7 = "rgb[200,60,20]"; let color8 = "rgba[200,60,20,0.98631]"; // Tests: /*** Log Blending ***/ // Shade [Lighten or Darken] pSBC [ 0.42, color1 ]; // rgb[20,60,200] + [42% Lighter] => rgb[166,171,225] pSBC [ -0.4, color5 ]; // #F3A + [40% Darker] => #c62884 pSBC [ 0.42, color8 ]; // rgba[200,60,20,0.98631] + [42% Lighter] => rgba[225,171,166,0.98631] // Shade with Conversion [use "c" as your "to" color] pSBC [ 0.42, color2, "c" ]; // rgba[20,60,200,0.67423] + [42% Lighter] + [Convert] => #a6abe1ac // RGB2Hex & Hex2RGB Conversion Only [set percentage to zero] pSBC [ 0, color6, "c" ]; // #F3A9 + [Convert] => rgba[255,51,170,0.6] // Blending pSBC [ -0.5, color2, color8 ]; // rgba[20,60,200,0.67423] + rgba[200,60,20,0.98631] + [50% Blend] => rgba[142,60,142,0.83] pSBC [ 0.7, color2, color7 ]; // rgba[20,60,200,0.67423] + rgb[200,60,20] + [70% Blend] => rgba[168,60,111,0.67423] pSBC [ 0.25, color3, color7 ]; // #67DAF0 + rgb[200,60,20] + [25% Blend] => rgb[134,191,208] pSBC [ 0.75, color7, color3 ]; // rgb[200,60,20] + #67DAF0 + [75% Blend] => #86bfd0 /*** Linear Blending ***/ // Shade [Lighten or Darken] pSBC [ 0.42, color1, false, true ]; // rgb[20,60,200] + [42% Lighter] => rgb[119,142,223] pSBC [ -0.4, color5, false, true ]; // #F3A + [40% Darker] => #991f66 pSBC [ 0.42, color8, false, true ]; // rgba[200,60,20,0.98631] + [42% Lighter] => rgba[223,142,119,0.98631] // Shade with Conversion [use "c" as your "to" color] pSBC [ 0.42, color2, "c", true ]; // rgba[20,60,200,0.67423] + [42% Lighter] + [Convert] => #778edfac // RGB2Hex & Hex2RGB Conversion Only [set percentage to zero] pSBC [ 0, color6, "c", true ]; // #F3A9 + [Convert] => rgba[255,51,170,0.6] // Blending pSBC [ -0.5, color2, color8, true ]; // rgba[20,60,200,0.67423] + rgba[200,60,20,0.98631] + [50% Blend] => rgba[110,60,110,0.83] pSBC [ 0.7, color2, color7, true ]; // rgba[20,60,200,0.67423] + rgb[200,60,20] + [70% Blend] => rgba[146,60,74,0.67423] pSBC [ 0.25, color3, color7, true ]; // #67DAF0 + rgb[200,60,20] + [25% Blend] => rgb[127,179,185] pSBC [ 0.75, color7, color3, true ]; // rgb[200,60,20] + #67DAF0 + [75% Blend] => #7fb3b9 /*** Other Stuff ***/ // Error Checking pSBC [ 0.42, "#FFBAA" ]; // #FFBAA + [42% Lighter] => null [Invalid Input Color] pSBC [ 42, color1, color5 ]; // rgb[20,60,200] + #F3A + [4200% Blend] => null [Invalid Percentage Range] pSBC [ 0.42, {} ]; // [object Object] + [42% Lighter] => null [Strings Only for Color] pSBC [ "42", color1 ]; // rgb[20,60,200] + ["42"] => null [Numbers Only for Percentage] pSBC [ 0.42, "salt" ]; // salt + [42% Lighter] => null [A Little Salt is No Good...] // Error Check Fails [Some Errors are not Caught] pSBC [ 0.42, "#salt" ]; // #salt + [42% Lighter] => #a5a5a500 [...and a Pound of Salt is Jibberish] // Ripping pSBCr [ color4 ]; // #5567DAF0 + [Rip] => [object Object] => {'r':85,'g':103,'b':218,'a':0.941}
2 và nó sẽ che bóng và chuyển đổi bất kỳ màu nào// Setup: let color1 = "rgb[20,60,200]"; let color2 = "rgba[20,60,200,0.67423]"; let color3 = "#67DAF0"; let color4 = "#5567DAF0"; let color5 = "#F3A"; let color6 = "#F3A9"; let color7 = "rgb[200,60,20]"; let color8 = "rgba[200,60,20,0.98631]"; // Tests: /*** Log Blending ***/ // Shade [Lighten or Darken] pSBC [ 0.42, color1 ]; // rgb[20,60,200] + [42% Lighter] => rgb[166,171,225] pSBC [ -0.4, color5 ]; // #F3A + [40% Darker] => #c62884 pSBC [ 0.42, color8 ]; // rgba[200,60,20,0.98631] + [42% Lighter] => rgba[225,171,166,0.98631] // Shade with Conversion [use "c" as your "to" color] pSBC [ 0.42, color2, "c" ]; // rgba[20,60,200,0.67423] + [42% Lighter] + [Convert] => #a6abe1ac // RGB2Hex & Hex2RGB Conversion Only [set percentage to zero] pSBC [ 0, color6, "c" ]; // #F3A9 + [Convert] => rgba[255,51,170,0.6] // Blending pSBC [ -0.5, color2, color8 ]; // rgba[20,60,200,0.67423] + rgba[200,60,20,0.98631] + [50% Blend] => rgba[142,60,142,0.83] pSBC [ 0.7, color2, color7 ]; // rgba[20,60,200,0.67423] + rgb[200,60,20] + [70% Blend] => rgba[168,60,111,0.67423] pSBC [ 0.25, color3, color7 ]; // #67DAF0 + rgb[200,60,20] + [25% Blend] => rgb[134,191,208] pSBC [ 0.75, color7, color3 ]; // rgb[200,60,20] + #67DAF0 + [75% Blend] => #86bfd0 /*** Linear Blending ***/ // Shade [Lighten or Darken] pSBC [ 0.42, color1, false, true ]; // rgb[20,60,200] + [42% Lighter] => rgb[119,142,223] pSBC [ -0.4, color5, false, true ]; // #F3A + [40% Darker] => #991f66 pSBC [ 0.42, color8, false, true ]; // rgba[200,60,20,0.98631] + [42% Lighter] => rgba[223,142,119,0.98631] // Shade with Conversion [use "c" as your "to" color] pSBC [ 0.42, color2, "c", true ]; // rgba[20,60,200,0.67423] + [42% Lighter] + [Convert] => #778edfac // RGB2Hex & Hex2RGB Conversion Only [set percentage to zero] pSBC [ 0, color6, "c", true ]; // #F3A9 + [Convert] => rgba[255,51,170,0.6] // Blending pSBC [ -0.5, color2, color8, true ]; // rgba[20,60,200,0.67423] + rgba[200,60,20,0.98631] + [50% Blend] => rgba[110,60,110,0.83] pSBC [ 0.7, color2, color7, true ]; // rgba[20,60,200,0.67423] + rgb[200,60,20] + [70% Blend] => rgba[146,60,74,0.67423] pSBC [ 0.25, color3, color7, true ]; // #67DAF0 + rgb[200,60,20] + [25% Blend] => rgb[127,179,185] pSBC [ 0.75, color7, color3, true ]; // rgb[200,60,20] + #67DAF0 + [75% Blend] => #7fb3b9 /*** Other Stuff ***/ // Error Checking pSBC [ 0.42, "#FFBAA" ]; // #FFBAA + [42% Lighter] => null [Invalid Input Color] pSBC [ 42, color1, color5 ]; // rgb[20,60,200] + #F3A + [4200% Blend] => null [Invalid Percentage Range] pSBC [ 0.42, {} ]; // [object Object] + [42% Lighter] => null [Strings Only for Color] pSBC [ "42", color1 ]; // rgb[20,60,200] + ["42"] => null [Numbers Only for Percentage] pSBC [ 0.42, "salt" ]; // salt + [42% Lighter] => null [A Little Salt is No Good...] // Error Check Fails [Some Errors are not Caught] pSBC [ 0.42, "#salt" ]; // #salt + [42% Lighter] => #a5a5a500 [...and a Pound of Salt is Jibberish] // Ripping pSBCr [ color4 ]; // #5567DAF0 + [Rip] => [object Object] => {'r':85,'g':103,'b':218,'a':0.941}
1. Nếu chỉ chuyển đổi chỉ mong muốn, thì hãy vượt qua// Setup: let color1 = "rgb[20,60,200]"; let color2 = "rgba[20,60,200,0.67423]"; let color3 = "#67DAF0"; let color4 = "#5567DAF0"; let color5 = "#F3A"; let color6 = "#F3A9"; let color7 = "rgb[200,60,20]"; let color8 = "rgba[200,60,20,0.98631]"; // Tests: /*** Log Blending ***/ // Shade [Lighten or Darken] pSBC [ 0.42, color1 ]; // rgb[20,60,200] + [42% Lighter] => rgb[166,171,225] pSBC [ -0.4, color5 ]; // #F3A + [40% Darker] => #c62884 pSBC [ 0.42, color8 ]; // rgba[200,60,20,0.98631] + [42% Lighter] => rgba[225,171,166,0.98631] // Shade with Conversion [use "c" as your "to" color] pSBC [ 0.42, color2, "c" ]; // rgba[20,60,200,0.67423] + [42% Lighter] + [Convert] => #a6abe1ac // RGB2Hex & Hex2RGB Conversion Only [set percentage to zero] pSBC [ 0, color6, "c" ]; // #F3A9 + [Convert] => rgba[255,51,170,0.6] // Blending pSBC [ -0.5, color2, color8 ]; // rgba[20,60,200,0.67423] + rgba[200,60,20,0.98631] + [50% Blend] => rgba[142,60,142,0.83] pSBC [ 0.7, color2, color7 ]; // rgba[20,60,200,0.67423] + rgb[200,60,20] + [70% Blend] => rgba[168,60,111,0.67423] pSBC [ 0.25, color3, color7 ]; // #67DAF0 + rgb[200,60,20] + [25% Blend] => rgb[134,191,208] pSBC [ 0.75, color7, color3 ]; // rgb[200,60,20] + #67DAF0 + [75% Blend] => #86bfd0 /*** Linear Blending ***/ // Shade [Lighten or Darken] pSBC [ 0.42, color1, false, true ]; // rgb[20,60,200] + [42% Lighter] => rgb[119,142,223] pSBC [ -0.4, color5, false, true ]; // #F3A + [40% Darker] => #991f66 pSBC [ 0.42, color8, false, true ]; // rgba[200,60,20,0.98631] + [42% Lighter] => rgba[223,142,119,0.98631] // Shade with Conversion [use "c" as your "to" color] pSBC [ 0.42, color2, "c", true ]; // rgba[20,60,200,0.67423] + [42% Lighter] + [Convert] => #778edfac // RGB2Hex & Hex2RGB Conversion Only [set percentage to zero] pSBC [ 0, color6, "c", true ]; // #F3A9 + [Convert] => rgba[255,51,170,0.6] // Blending pSBC [ -0.5, color2, color8, true ]; // rgba[20,60,200,0.67423] + rgba[200,60,20,0.98631] + [50% Blend] => rgba[110,60,110,0.83] pSBC [ 0.7, color2, color7, true ]; // rgba[20,60,200,0.67423] + rgb[200,60,20] + [70% Blend] => rgba[146,60,74,0.67423] pSBC [ 0.25, color3, color7, true ]; // #67DAF0 + rgb[200,60,20] + [25% Blend] => rgb[127,179,185] pSBC [ 0.75, color7, color3, true ]; // rgb[200,60,20] + #67DAF0 + [75% Blend] => #7fb3b9 /*** Other Stuff ***/ // Error Checking pSBC [ 0.42, "#FFBAA" ]; // #FFBAA + [42% Lighter] => null [Invalid Input Color] pSBC [ 42, color1, color5 ]; // rgb[20,60,200] + #F3A + [4200% Blend] => null [Invalid Percentage Range] pSBC [ 0.42, {} ]; // [object Object] + [42% Lighter] => null [Strings Only for Color] pSBC [ "42", color1 ]; // rgb[20,60,200] + ["42"] => null [Numbers Only for Percentage] pSBC [ 0.42, "salt" ]; // salt + [42% Lighter] => null [A Little Salt is No Good...] // Error Check Fails [Some Errors are not Caught] pSBC [ 0.42, "#salt" ]; // #salt + [42% Lighter] => #a5a5a500 [...and a Pound of Salt is Jibberish] // Ripping pSBCr [ color4 ]; // #5567DAF0 + [Rip] => [object Object] => {'r':85,'g':103,'b':218,'a':0.941}
2 bị bỏ qua hoặc không có -____ 25 được truyền vào, nó sẽ không chuyển đổi.const RGB_Linear_Blend=[p,c0,c1]=>{ var i=parseInt,r=Math.round,P=1-p,[a,b,c,d]=c0.split[","],[e,f,g,h]=c1.split[","],x=d||h,j=x?","+[!d?h:!h?d:r[[parseFloat[d]*P+parseFloat[h]*p]*1000]/1000+"]"]:"]"; return"rgb"+[x?"a[":"["]+r[i[a[3]=="a"?a.slice[5]:a.slice[4]]*P+i[e[3]=="a"?e.slice[5]:e.slice[4]]*p]+","+r[i[b]*P+i[f]*p]+","+r[i[c]*P+i[g]*p]+j; } const RGB_Linear_Shade=[p,c]=>{ var i=parseInt,r=Math.round,[a,b,c,d]=c.split[","],P=p{ var i=parseInt,r=Math.round,P=1-p,[a,b,c,d]=c0.split[","],[e,f,g,h]=c1.split[","],x=d||h,j=x?","+[!d?h:!h?d:r[[parseFloat[d]*P+parseFloat[h]*p]*1000]/1000+"]"]:"]"; return"rgb"+[x?"a[":"["]+r[[P*i[a[3]=="a"?a.slice[5]:a.slice[4]]**2+p*i[e[3]=="a"?e.slice[5]:e.slice[4]]**2]**0.5]+","+r[[P*i[b]**2+p*i[f]**2]**0.5]+","+r[[P*i[c]**2+p*i[g]**2]**0.5]+j; } const RGB_Log_Shade=[p,c]=>{ var i=parseInt,r=Math.round,[a,b,c,d]=c.split[","],P=p{ var i=parseInt,r=Math.round,P=1-p,[a,b,c,d]=c0.split[","],[e,f,g,h]=c1.split[","],x=d||h,j=x?","+[!d?h:!h?d:r[[parseFloat[d]*P+parseFloat[h]*p]*1000]/1000+"]"]:"]"; return"rgb"+[x?"a[":"["]+r[i[a[3]=="a"?a.slice[5]:a.slice[4]]*P+i[e[3]=="a"?e.slice[5]:e.slice[4]]*p]+","+r[i[b]*P+i[f]*p]+","+r[i[c]*P+i[g]*p]+j; } const RGB_Linear_Shade=[p,c]=>{ var i=parseInt,r=Math.round,[a,b,c,d]=c.split[","],P=p{ var i=parseInt,r=Math.round,P=1-p,[a,b,c,d]=c0.split[","],[e,f,g,h]=c1.split[","],x=d||h,j=x?","+[!d?h:!h?d:r[[parseFloat[d]*P+parseFloat[h]*p]*1000]/1000+"]"]:"]"; return"rgb"+[x?"a[":"["]+r[[P*i[a[3]=="a"?a.slice[5]:a.slice[4]]**2+p*i[e[3]=="a"?e.slice[5]:e.slice[4]]**2]**0.5]+","+r[[P*i[b]**2+p*i[f]**2]**0.5]+","+r[[P*i[c]**2+p*i[g]**2]**0.5]+j; } const RGB_Log_Shade=[p,c]=>{ var i=parseInt,r=Math.round,[a,b,c,d]=c.split[","],P=p rgb[166,171,225] pSBC [ -0.4, color5 ]; // #F3A + [40% Darker] => #c62884 pSBC [ 0.42, color8 ]; // rgba[200,60,20,0.98631] + [42% Lighter] => rgba[225,171,166,0.98631] // Shade with Conversion [use "c" as your "to" color] pSBC [ 0.42, color2, "c" ]; // rgba[20,60,200,0.67423] + [42% Lighter] + [Convert] => #a6abe1ac // RGB2Hex & Hex2RGB Conversion Only [set percentage to zero] pSBC [ 0, color6, "c" ]; // #F3A9 + [Convert] => rgba[255,51,170,0.6] // Blending pSBC [ -0.5, color2, color8 ]; // rgba[20,60,200,0.67423] + rgba[200,60,20,0.98631] + [50% Blend] => rgba[142,60,142,0.83] pSBC [ 0.7, color2, color7 ]; // rgba[20,60,200,0.67423] + rgb[200,60,20] + [70% Blend] => rgba[168,60,111,0.67423] pSBC [ 0.25, color3, color7 ]; // #67DAF0 + rgb[200,60,20] + [25% Blend] => rgb[134,191,208] pSBC [ 0.75, color7, color3 ]; // rgb[200,60,20] + #67DAF0 + [75% Blend] => #86bfd0 /*** Linear Blending ***/ // Shade [Lighten or Darken] pSBC [ 0.42, color1, false, true ]; // rgb[20,60,200] + [42% Lighter] => rgb[119,142,223] pSBC [ -0.4, color5, false, true ]; // #F3A + [40% Darker] => #991f66 pSBC [ 0.42, color8, false, true ]; // rgba[200,60,20,0.98631] + [42% Lighter] => rgba[223,142,119,0.98631] // Shade with Conversion [use "c" as your "to" color] pSBC [ 0.42, color2, "c", true ]; // rgba[20,60,200,0.67423] + [42% Lighter] + [Convert] => #778edfac // RGB2Hex & Hex2RGB Conversion Only [set percentage to zero] pSBC [ 0, color6, "c", true ]; // #F3A9 + [Convert] => rgba[255,51,170,0.6] // Blending pSBC [ -0.5, color2, color8, true ]; // rgba[20,60,200,0.67423] + rgba[200,60,20,0.98631] + [50% Blend] => rgba[110,60,110,0.83] pSBC [ 0.7, color2, color7, true ]; // rgba[20,60,200,0.67423] + rgb[200,60,20] + [70% Blend] => rgba[146,60,74,0.67423] pSBC [ 0.25, color3, color7, true ]; // #67DAF0 + rgb[200,60,20] + [25% Blend] => rgb[127,179,185] pSBC [ 0.75, color7, color3, true ]; // rgb[200,60,20] + #67DAF0 + [75% Blend] => #7fb3b9 /*** Other Stuff ***/ // Error Checking pSBC [ 0.42, "#FFBAA" ]; // #FFBAA + [42% Lighter] => null [Invalid Input Color] pSBC [ 42, color1, color5 ]; // rgb[20,60,200] + #F3A + [4200% Blend] => null [Invalid Percentage Range] pSBC [ 0.42, {} ]; // [object Object] + [42% Lighter] => null [Strings Only for Color] pSBC [ "42", color1 ]; // rgb[20,60,200] + ["42"] => null [Numbers Only for Percentage] pSBC [ 0.42, "salt" ]; // salt + [42% Lighter] => null [A Little Salt is No Good...] // Error Check Fails [Some Errors are not Caught] pSBC [ 0.42, "#salt" ]; // #salt + [42% Lighter] => #a5a5a500 [...and a Pound of Salt is Jibberish] // Ripping pSBCr [ color4 ]; // #5567DAF0 + [Rip] => [object Object] => {'r':85,'g':103,'b':218,'a':0.941}
- Một chức năng thứ cấp cũng được thêm vào toàn cầu.
1 [từ] và/hoặcconst RGB_Linear_Blend=[p,c0,c1]=>{ var i=parseInt,r=Math.round,P=1-p,[a,b,c,d]=c0.split[","],[e,f,g,h]=c1.split[","],x=d||h,j=x?","+[!d?h:!h?d:r[[parseFloat[d]*P+parseFloat[h]*p]*1000]/1000+"]"]:"]"; return"rgb"+[x?"a[":"["]+r[i[a[3]=="a"?a.slice[5]:a.slice[4]]*P+i[e[3]=="a"?e.slice[5]:e.slice[4]]*p]+","+r[i[b]*P+i[f]*p]+","+r[i[c]*P+i[g]*p]+j; } const RGB_Linear_Shade=[p,c]=>{ var i=parseInt,r=Math.round,[a,b,c,d]=c.split[","],P=p{ var i=parseInt,r=Math.round,P=1-p,[a,b,c,d]=c0.split[","],[e,f,g,h]=c1.split[","],x=d||h,j=x?","+[!d?h:!h?d:r[[parseFloat[d]*P+parseFloat[h]*p]*1000]/1000+"]"]:"]"; return"rgb"+[x?"a[":"["]+r[[P*i[a[3]=="a"?a.slice[5]:a.slice[4]]**2+p*i[e[3]=="a"?e.slice[5]:e.slice[4]]**2]**0.5]+","+r[[P*i[b]**2+p*i[f]**2]**0.5]+","+r[[P*i[c]**2+p*i[g]**2]**0.5]+j; } const RGB_Log_Shade=[p,c]=>{ var i=parseInt,r=Math.round,[a,b,c,d]=c.split[","],P=p{ var i=parseInt,r=Math.round,P=1-p,[a,b,c,d]=c0.split[","],[e,f,g,h]=c1.split[","],x=d||h,j=x?","+[!d?h:!h?d:r[[parseFloat[d]*P+parseFloat[h]*p]*1000]/1000+"]"]:"]"; return"rgb"+[x?"a[":"["]+r[i[a[3]=="a"?a.slice[5]:a.slice[4]]*P+i[e[3]=="a"?e.slice[5]:e.slice[4]]*p]+","+r[i[b]*P+i[f]*p]+","+r[i[c]*P+i[g]*p]+j; } const RGB_Linear_Shade=[p,c]=>{ var i=parseInt,r=Math.round,[a,b,c,d]=c.split[","],P=p{ var i=parseInt,r=Math.round,P=1-p,[a,b,c,d]=c0.split[","],[e,f,g,h]=c1.split[","],x=d||h,j=x?","+[!d?h:!h?d:r[[parseFloat[d]*P+parseFloat[h]*p]*1000]/1000+"]"]:"]"; return"rgb"+[x?"a[":"["]+r[[P*i[a[3]=="a"?a.slice[5]:a.slice[4]]**2+p*i[e[3]=="a"?e.slice[5]:e.slice[4]]**2]**0.5]+","+r[[P*i[b]**2+p*i[f]**2]**0.5]+","+r[[P*i[c]**2+p*i[g]**2]**0.5]+j; } const RGB_Log_Shade=[p,c]=>{ var i=parseInt,r=Math.round,[a,b,c,d]=c.split[","],P=p{ var i=parseInt,r=Math.round,P=1-p,[a,b,c,d]=c0.split[","],[e,f,g,h]=c1.split[","],x=d||h,j=x?","+[!d?h:!h?d:r[[parseFloat[d]*P+parseFloat[h]*p]*1000]/1000+"]"]:"]"; return"rgb"+[x?"a[":"["]+r[i[a[3]=="a"?a.slice[5]:a.slice[4]]*P+i[e[3]=="a"?e.slice[5]:e.slice[4]]*p]+","+r[i[b]*P+i[f]*p]+","+r[i[c]*P+i[g]*p]+j; } const RGB_Linear_Shade=[p,c]=>{ var i=parseInt,r=Math.round,[a,b,c,d]=c.split[","],P=p{ var i=parseInt,r=Math.round,P=1-p,[a,b,c,d]=c0.split[","],[e,f,g,h]=c1.split[","],x=d||h,j=x?","+[!d?h:!h?d:r[[parseFloat[d]*P+parseFloat[h]*p]*1000]/1000+"]"]:"]"; return"rgb"+[x?"a[":"["]+r[[P*i[a[3]=="a"?a.slice[5]:a.slice[4]]**2+p*i[e[3]=="a"?e.slice[5]:e.slice[4]]**2]**0.5]+","+r[[P*i[b]**2+p*i[f]**2]**0.5]+","+r[[P*i[c]**2+p*i[g]**2]**0.5]+j; } const RGB_Log_Shade=[p,c]=>{ var i=parseInt,r=Math.round,[a,b,c,d]=c.split[","],P=p{ var i=parseInt,r=Math.round,P=1-p,[a,b,c,d]=c0.split[","],[e,f,g,h]=c1.split[","],x=d||h,j=x?","+[!d?h:!h?d:r[[parseFloat[d]*P+parseFloat[h]*p]*1000]/1000+"]"]:"]"; return"rgb"+[x?"a[":"["]+r[i[a[3]=="a"?a.slice[5]:a.slice[4]]*P+i[e[3]=="a"?e.slice[5]:e.slice[4]]*p]+","+r[i[b]*P+i[f]*p]+","+r[i[c]*P+i[g]*p]+j; } const RGB_Linear_Shade=[p,c]=>{ var i=parseInt,r=Math.round,[a,b,c,d]=c.split[","],P=p{ var i=parseInt,r=Math.round,P=1-p,[a,b,c,d]=c0.split[","],[e,f,g,h]=c1.split[","],x=d||h,j=x?","+[!d?h:!h?d:r[[parseFloat[d]*P+parseFloat[h]*p]*1000]/1000+"]"]:"]"; return"rgb"+[x?"a[":"["]+r[[P*i[a[3]=="a"?a.slice[5]:a.slice[4]]**2+p*i[e[3]=="a"?e.slice[5]:e.slice[4]]**2]**0.5]+","+r[[P*i[b]**2+p*i[f]**2]**0.5]+","+r[[P*i[c]**2+p*i[g]**2]**0.5]+j; } const RGB_Log_Shade=[p,c]=>{ var i=parseInt,r=Math.round,[a,b,c,d]=c.split[","],P=p rgb[166,171,225] pSBC [ -0.4, color5 ]; // #F3A + [40% Darker] => #c62884 pSBC [ 0.42, color8 ]; // rgba[200,60,20,0.98631] + [42% Lighter] => rgba[225,171,166,0.98631] // Shade with Conversion [use "c" as your "to" color] pSBC [ 0.42, color2, "c" ]; // rgba[20,60,200,0.67423] + [42% Lighter] + [Convert] => #a6abe1ac // RGB2Hex & Hex2RGB Conversion Only [set percentage to zero] pSBC [ 0, color6, "c" ]; // #F3A9 + [Convert] => rgba[255,51,170,0.6] // Blending pSBC [ -0.5, color2, color8 ]; // rgba[20,60,200,0.67423] + rgba[200,60,20,0.98631] + [50% Blend] => rgba[142,60,142,0.83] pSBC [ 0.7, color2, color7 ]; // rgba[20,60,200,0.67423] + rgb[200,60,20] + [70% Blend] => rgba[168,60,111,0.67423] pSBC [ 0.25, color3, color7 ]; // #67DAF0 + rgb[200,60,20] + [25% Blend] => rgb[134,191,208] pSBC [ 0.75, color7, color3 ]; // rgb[200,60,20] + #67DAF0 + [75% Blend] => #86bfd0 /*** Linear Blending ***/ // Shade [Lighten or Darken] pSBC [ 0.42, color1, false, true ]; // rgb[20,60,200] + [42% Lighter] => rgb[119,142,223] pSBC [ -0.4, color5, false, true ]; // #F3A + [40% Darker] => #991f66 pSBC [ 0.42, color8, false, true ]; // rgba[200,60,20,0.98631] + [42% Lighter] => rgba[223,142,119,0.98631] // Shade with Conversion [use "c" as your "to" color] pSBC [ 0.42, color2, "c", true ]; // rgba[20,60,200,0.67423] + [42% Lighter] + [Convert] => #778edfac // RGB2Hex & Hex2RGB Conversion Only [set percentage to zero] pSBC [ 0, color6, "c", true ]; // #F3A9 + [Convert] => rgba[255,51,170,0.6] // Blending pSBC [ -0.5, color2, color8, true ]; // rgba[20,60,200,0.67423] + rgba[200,60,20,0.98631] + [50% Blend] => rgba[110,60,110,0.83] pSBC [ 0.7, color2, color7, true ]; // rgba[20,60,200,0.67423] + rgb[200,60,20] + [70% Blend] => rgba[146,60,74,0.67423] pSBC [ 0.25, color3, color7, true ]; // #67DAF0 + rgb[200,60,20] + [25% Blend] => rgb[127,179,185] pSBC [ 0.75, color7, color3, true ]; // rgb[200,60,20] + #67DAF0 + [75% Blend] => #7fb3b9 /*** Other Stuff ***/ // Error Checking pSBC [ 0.42, "#FFBAA" ]; // #FFBAA + [42% Lighter] => null [Invalid Input Color] pSBC [ 42, color1, color5 ]; // rgb[20,60,200] + #F3A + [4200% Blend] => null [Invalid Percentage Range] pSBC [ 0.42, {} ]; // [object Object] + [42% Lighter] => null [Strings Only for Color] pSBC [ "42", color1 ]; // rgb[20,60,200] + ["42"] => null [Numbers Only for Percentage] pSBC [ 0.42, "salt" ]; // salt + [42% Lighter] => null [A Little Salt is No Good...] // Error Check Fails [Some Errors are not Caught] pSBC [ 0.42, "#salt" ]; // #salt + [42% Lighter] => #a5a5a500 [...and a Pound of Salt is Jibberish] // Ripping pSBCr [ color4 ]; // #5567DAF0 + [Rip] => [object Object] => {'r':85,'g':103,'b':218,'a':0.941}
2 [đến].// Setup: let color1 = "rgb[20,60,200]"; let color2 = "rgba[20,60,200,0.67423]"; let color3 = "#67DAF0"; let color4 = "#5567DAF0"; let color5 = "#F3A"; let color6 = "#F3A9"; let color7 = "rgb[200,60,20]"; let color8 = "rgba[200,60,20,0.98631]"; // Tests: /*** Log Blending ***/ // Shade [Lighten or Darken] pSBC [ 0.42, color1 ]; // rgb[20,60,200] + [42% Lighter] => rgb[166,171,225] pSBC [ -0.4, color5 ]; // #F3A + [40% Darker] => #c62884 pSBC [ 0.42, color8 ]; // rgba[200,60,20,0.98631] + [42% Lighter] => rgba[225,171,166,0.98631] // Shade with Conversion [use "c" as your "to" color] pSBC [ 0.42, color2, "c" ]; // rgba[20,60,200,0.67423] + [42% Lighter] + [Convert] => #a6abe1ac // RGB2Hex & Hex2RGB Conversion Only [set percentage to zero] pSBC [ 0, color6, "c" ]; // #F3A9 + [Convert] => rgba[255,51,170,0.6] // Blending pSBC [ -0.5, color2, color8 ]; // rgba[20,60,200,0.67423] + rgba[200,60,20,0.98631] + [50% Blend] => rgba[142,60,142,0.83] pSBC [ 0.7, color2, color7 ]; // rgba[20,60,200,0.67423] + rgb[200,60,20] + [70% Blend] => rgba[168,60,111,0.67423] pSBC [ 0.25, color3, color7 ]; // #67DAF0 + rgb[200,60,20] + [25% Blend] => rgb[134,191,208] pSBC [ 0.75, color7, color3 ]; // rgb[200,60,20] + #67DAF0 + [75% Blend] => #86bfd0 /*** Linear Blending ***/ // Shade [Lighten or Darken] pSBC [ 0.42, color1, false, true ]; // rgb[20,60,200] + [42% Lighter] => rgb[119,142,223] pSBC [ -0.4, color5, false, true ]; // #F3A + [40% Darker] => #991f66 pSBC [ 0.42, color8, false, true ]; // rgba[200,60,20,0.98631] + [42% Lighter] => rgba[223,142,119,0.98631] // Shade with Conversion [use "c" as your "to" color] pSBC [ 0.42, color2, "c", true ]; // rgba[20,60,200,0.67423] + [42% Lighter] + [Convert] => #778edfac // RGB2Hex & Hex2RGB Conversion Only [set percentage to zero] pSBC [ 0, color6, "c", true ]; // #F3A9 + [Convert] => rgba[255,51,170,0.6] // Blending pSBC [ -0.5, color2, color8, true ]; // rgba[20,60,200,0.67423] + rgba[200,60,20,0.98631] + [50% Blend] => rgba[110,60,110,0.83] pSBC [ 0.7, color2, color7, true ]; // rgba[20,60,200,0.67423] + rgb[200,60,20] + [70% Blend] => rgba[146,60,74,0.67423] pSBC [ 0.25, color3, color7, true ]; // #67DAF0 + rgb[200,60,20] + [25% Blend] => rgb[127,179,185] pSBC [ 0.75, color7, color3, true ]; // rgb[200,60,20] + #67DAF0 + [75% Blend] => #7fb3b9 /*** Other Stuff ***/ // Error Checking pSBC [ 0.42, "#FFBAA" ]; // #FFBAA + [42% Lighter] => null [Invalid Input Color] pSBC [ 42, color1, color5 ]; // rgb[20,60,200] + #F3A + [4200% Blend] => null [Invalid Percentage Range] pSBC [ 0.42, {} ]; // [object Object] + [42% Lighter] => null [Strings Only for Color] pSBC [ "42", color1 ]; // rgb[20,60,200] + ["42"] => null [Numbers Only for Percentage] pSBC [ 0.42, "salt" ]; // salt + [42% Lighter] => null [A Little Salt is No Good...] // Error Check Fails [Some Errors are not Caught] pSBC [ 0.42, "#salt" ]; // #salt + [42% Lighter] => #a5a5a500 [...and a Pound of Salt is Jibberish] // Ripping pSBCr [ color4 ]; // #5567DAF0 + [Rip] => [object Object] => {'r':85,'g':103,'b':218,'a':0.941}
- Kiểm tra lỗi nhỏ đã được thêm vào. Nó không hoàn hảo. Nó vẫn có thể gặp sự cố hoặc tạo ra tiếng cười. Nhưng nó sẽ bắt được một số thứ. Về cơ bản, nếu cấu trúc sai theo một số cách hoặc nếu tỷ lệ phần trăm không phải là số hoặc ngoài phạm vi, nó sẽ trả lại
pSBC
6. Một ví dụ:pSBC
7, trong đó như nó nghĩpSBC
8 là một màu hợp lệ. Xóa bốn dòng kết thúc bằngpSBC
9 để loại bỏ tính năng này và làm cho nó nhanh hơn và nhỏ hơn. - Sử dụng nhật ký nhật ký. Vượt qua
pSBC
0 trongpSBC
1 [tham số thứ 4] để sử dụng pha trộn tuyến tính.
Code:
// Version 4.0
const pSBC=[p,c0,c1,l]=>{
let r,g,b,P,f,t,h,i=parseInt,m=Math.round,a=typeof[c1]=="string";
if[typeof[p]!="number"||p1||typeof[c0]!="string"||[c0[0]!='r'&&c0[0]!='#']||[c1&&!a]]return null;
if[!this.pSBCr]this.pSBCr=[d]=>{
let n=d.length,x={};
if[n>9]{
[r,g,b,a]=d=d.split[","],n=d.length;
if[n4]return null;
x.r=i[r[3]=="a"?r.slice[5]:r.slice[4]],x.g=i[g],x.b=i[b],x.a=a?parseFloat[a]:-1
}else{
if[n==8||n==6||n>24&255,x.g=d>>16&255,x.b=d>>8&255,x.a=m[[d&255]/0.255]/1000;
else x.r=d>>16,x.g=d>>8&255,x.b=d&255,x.a=-1
}return x};
h=c0.length>9,h=a?c1.length>9?true:c1=="c"?!h:false:h,f=this.pSBCr[c0],P=p=0||t>=0,a=f?a #c62884
pSBC [ 0.42, color8 ]; // rgba[200,60,20,0.98631] + [42% Lighter] => rgba[225,171,166,0.98631]
// Shade with Conversion [use "c" as your "to" color]
pSBC [ 0.42, color2, "c" ]; // rgba[20,60,200,0.67423] + [42% Lighter] + [Convert] => #a6abe1ac
// RGB2Hex & Hex2RGB Conversion Only [set percentage to zero]
pSBC [ 0, color6, "c" ]; // #F3A9 + [Convert] => rgba[255,51,170,0.6]
// Blending
pSBC [ -0.5, color2, color8 ]; // rgba[20,60,200,0.67423] + rgba[200,60,20,0.98631] + [50% Blend] => rgba[142,60,142,0.83]
pSBC [ 0.7, color2, color7 ]; // rgba[20,60,200,0.67423] + rgb[200,60,20] + [70% Blend] => rgba[168,60,111,0.67423]
pSBC [ 0.25, color3, color7 ]; // #67DAF0 + rgb[200,60,20] + [25% Blend] => rgb[134,191,208]
pSBC [ 0.75, color7, color3 ]; // rgb[200,60,20] + #67DAF0 + [75% Blend] => #86bfd0
/*** Linear Blending ***/
// Shade [Lighten or Darken]
pSBC [ 0.42, color1, false, true ]; // rgb[20,60,200] + [42% Lighter] => rgb[119,142,223]
pSBC [ -0.4, color5, false, true ]; // #F3A + [40% Darker] => #991f66
pSBC [ 0.42, color8, false, true ]; // rgba[200,60,20,0.98631] + [42% Lighter] => rgba[223,142,119,0.98631]
// Shade with Conversion [use "c" as your "to" color]
pSBC [ 0.42, color2, "c", true ]; // rgba[20,60,200,0.67423] + [42% Lighter] + [Convert] => #778edfac
// RGB2Hex & Hex2RGB Conversion Only [set percentage to zero]
pSBC [ 0, color6, "c", true ]; // #F3A9 + [Convert] => rgba[255,51,170,0.6]
// Blending
pSBC [ -0.5, color2, color8, true ]; // rgba[20,60,200,0.67423] + rgba[200,60,20,0.98631] + [50% Blend] => rgba[110,60,110,0.83]
pSBC [ 0.7, color2, color7, true ]; // rgba[20,60,200,0.67423] + rgb[200,60,20] + [70% Blend] => rgba[146,60,74,0.67423]
pSBC [ 0.25, color3, color7, true ]; // #67DAF0 + rgb[200,60,20] + [25% Blend] => rgb[127,179,185]
pSBC [ 0.75, color7, color3, true ]; // rgb[200,60,20] + #67DAF0 + [75% Blend] => #7fb3b9
/*** Other Stuff ***/
// Error Checking
pSBC [ 0.42, "#FFBAA" ]; // #FFBAA + [42% Lighter] => null [Invalid Input Color]
pSBC [ 42, color1, color5 ]; // rgb[20,60,200] + #F3A + [4200% Blend] => null [Invalid Percentage Range]
pSBC [ 0.42, {} ]; // [object Object] + [42% Lighter] => null [Strings Only for Color]
pSBC [ "42", color1 ]; // rgb[20,60,200] + ["42"] => null [Numbers Only for Percentage]
pSBC [ 0.42, "salt" ]; // salt + [42% Lighter] => null [A Little Salt is No Good...]
// Error Check Fails [Some Errors are not Caught]
pSBC [ 0.42, "#salt" ]; // #salt + [42% Lighter] => #a5a5a500 [...and a Pound of Salt is Jibberish]
// Ripping
pSBCr [ color4 ]; // #5567DAF0 + [Rip] => [object Object] => {'r':85,'g':103,'b':218,'a':0.941}
Hình ảnh dưới đây sẽ giúp hiển thị sự khác biệt trong hai phương pháp pha trộn:
Chức năng vi mô
Nếu bạn thực sự muốn tốc độ và kích thước, bạn sẽ phải sử dụng RGB chứ không phải Hex.RGB đơn giản và đơn giản hơn, Hex viết quá chậm và có quá nhiều hương vị cho một lớp hai đơn giản [ví dụ: nó có thể là mã hex 3, 4, 6 hoặc 8 chữ số].Bạn cũng sẽ cần phải hy sinh một số tính năng, không kiểm tra lỗi, không hex2rgb cũng như RGB2HEX.Đồng thời, bạn sẽ cần chọn một chức năng cụ thể [dựa trên tên chức năng của nó bên dưới] cho toán học pha trộn màu và nếu bạn muốn tạo bóng hoặc trộn.Các chức năng này hỗ trợ các kênh alpha.Và khi cả hai màu đầu vào đều có bảng chữ cái, nó sẽ pha trộn tuyến tính.Nếu chỉ có một trong hai màu có alpha, nó sẽ truyền thẳng qua màu kết quả.Dưới đây là hai hàm lót cực kỳ nhanh và nhỏ:
const RGB_Linear_Blend=[p,c0,c1]=>{
var i=parseInt,r=Math.round,P=1-p,[a,b,c,d]=c0.split[","],[e,f,g,h]=c1.split[","],x=d||h,j=x?","+[!d?h:!h?d:r[[parseFloat[d]*P+parseFloat[h]*p]*1000]/1000+"]"]:"]";
return"rgb"+[x?"a[":"["]+r[i[a[3]=="a"?a.slice[5]:a.slice[4]]*P+i[e[3]=="a"?e.slice[5]:e.slice[4]]*p]+","+r[i[b]*P+i[f]*p]+","+r[i[c]*P+i[g]*p]+j;
}
const RGB_Linear_Shade=[p,c]=>{
var i=parseInt,r=Math.round,[a,b,c,d]=c.split[","],P=p{
var i=parseInt,r=Math.round,P=1-p,[a,b,c,d]=c0.split[","],[e,f,g,h]=c1.split[","],x=d||h,j=x?","+[!d?h:!h?d:r[[parseFloat[d]*P+parseFloat[h]*p]*1000]/1000+"]"]:"]";
return"rgb"+[x?"a[":"["]+r[[P*i[a[3]=="a"?a.slice[5]:a.slice[4]]**2+p*i[e[3]=="a"?e.slice[5]:e.slice[4]]**2]**0.5]+","+r[[P*i[b]**2+p*i[f]**2]**0.5]+","+r[[P*i[c]**2+p*i[g]**2]**0.5]+j;
}
const RGB_Log_Shade=[p,c]=>{
var i=parseInt,r=Math.round,[a,b,c,d]=c.split[","],P=p