با سلام و سپاس خدمت کاربران عزیز سایت یاهو ۹۸
امروز براتون سورس کدی کاربردی در زمینه تم های تاریک و روشن و یا دلخواه در نرم افزار مهیا کرده ایم که امیدوارم مورد مفید واقع گردد.
من تو اکثر برنامه هام از تم های تاریک و روشن و یا دلخواه استفاده میکنم و برای برای این کار، لازمه که بدونم آیا رنگ انتخاب شده، تیره هست یا روشن تا بتونم بر اساس اون رنگ ویوها رو تغییر بدم.
با این کدها، براحتی میتونین چک کنین که آیا رنگ ورودی، تیره هست یا نه.
Private Sub isColorDark(color As Int) As Boolean Dim darkness As Int = 1 - (0.299 * GetARGB(color)(1) + 0.587 * GetARGB(color)(2) + 0.114 * GetARGB(color)(3))/255 If darkness <= 0.5 Then Return False 'It's a light color Else Return True 'It's a dark color End If End Sub Sub GetARGB(Color As Int) As Int() Dim res(4) As Int res(0) = Bit.UnsignedShiftRight(Bit.And(Color, 0xff000000), 24) res(1) = Bit.UnsignedShiftRight(Bit.And(Color, 0xff0000), 16) res(2) = Bit.UnsignedShiftRight(Bit.And(Color, 0xff00), 8) res(3) = Bit.And(Color, 0xff) Return res End Sub
این دو ساب رو به اکتیویتی اضاف کنید و برای چک کردن، فقط از ساب اول استفاده کنید:
Log(isColorDark(0xFF891D1D)) 'Return True if 0xFF891D1D is dark
موفق باشید