vbstreets konferencia - Téma megtekintése - bomlása színű R, G, B

Úgy tűnik, csak egy változó, amely Tres bájt. Melyik -kal, és emlékezni minden színét. Bomlik lehet ellensúlyozni bájt vagy csak egy szőnyeg. műveleteket.
Hol, milyen színű lesz megérteni önmagát.
Meg fogom magyarázni, hogyan lehet elkülöníteni csak mind a három.

Osszuk el a számot 65.536 (azt hiszem) teljesen természetes. És megkapjuk az első bájt az első szín.

Most szorozzuk ezt a számot 65536 és kivonni ezt a számot. Az eredményül kapott szám (a fennmaradó két byte) osztva 256 (osztható) és kap a második bájt.

Ez a szám azt jelenti, hogy az utolsó két bájt vonjuk ki a második vásárlás szorozva 256 megkapjuk a harmadik bájt.

Kód: Egész kiválasztása rgb amíg a kívánt színt
r = RGB / 65536
g = # 40; RGB-r * 65536 # 41/256
b = # 40; RGB-r * 65536 # 41; -g * 256

Én nem írok VB így előfordulhat, hogy a kódon „/” az osztás. Tehát hogyan és mit kell hagyja korrigált előnyeiről és opschaya ilyen.

Minden válasz - köszönhetően.

Gagarin. szebb és gyorsabb használjon maszkot, cGreen = (cColor És h00ff00) / 256

Lasciate ogni speranza, voi ch'entrate.

alibek írta (a): Gagarin. szebb és gyorsabb használjon maszkot, cGreen = (cColor És h00ff00) / 256


Alibek, a show, pliz én kódot razhlozheniya színezni maszk segítségével.
Köszönöm.

Azért tartottam meg, amit kérek?
Azt szeretnénk, hogy richtextbox'e inverzió a kijelölt szövegre. Ha van egy könnyebb módja fordított szín a kontroll (átalakítás nélkül RGB és vissza), Örülnék tudni róla.

tyomitch írta (a): By the way, a legegyszerűbb módja annak, hogy fordítsa a színe Szín - Színes Xor vbWhite. Anélkül, hogy a maszkok, stb

Ruslan Demidow írta (a):

tyomitch írta (a): By the way, a legegyszerűbb módja annak, hogy fordítsa a színe Szín - Színes Xor vbWhite. Anélkül, hogy a maszkok, stb


És ha egy felhasználó tudom változtatni az alapértelmezett beállítás nem csak a színe a font, de a háttérben richtextedit'a?
Ie például ha a háttér fehér, betűszín fekete - bármi.


Tehát tady a szöveg színe és a háttér színe fordított.
És ha van külön Mona háttérszíne és a szöveg színe változtatni, akkor bocsáss meg, ha a juzverej elképzelni a fehér alapon fekete változás a fehér háttér - Probléma az övé, nem a tiéd. ;-)

De bomlik színösszetevőinek, lehetséges, és így (mellesleg ez a leggyorsabb módja):
Kód: Egész kiválasztása „, hogy hozzon létre egy projektet anélkül alkot egy modult. És felkeltek neki ezt a kódot.

Public Type RGBColors
rgbRed Ahogy Byte
rgbGreen Ahogy Byte
rgbBlue Ahogy Byte
rgbReserved Ahogy Byte
vége típusa

Public Sub Main # 40; # 41;
Dim lngColor Ahogy OLE_COLOR
Dim udtRGB Ahogy RGBColors

lngColor = VBA.RGB # 40; 188, 81, 204 # 41;

„Az azonnali ez: "188 | 81 | 204"
Debug.Print udtRGB.rgbRed; "|"; udtRGB.rgbGreen; "|"; udtRGB.rgbBlue
End Sub

Ruslan Demidow írta (a):

tyomitch írta (a): By the way, a legegyszerűbb módja annak, hogy fordítsa a színe Szín - Színes Xor vbWhite. Anélkül, hogy a maszkok, stb


És ha egy felhasználó tudom változtatni az alapértelmezett beállítás nem csak a színe a font, de a háttérben richtextedit'a?
Ie például ha a háttér fehér, betűszín fekete - bármi.


Tehát tady a szöveg színe és a háttér színe fordított.


Valójában, azt hiszem, így kezdetben, és felteszi: fordítsa az egész régióban a szöveg, azaz a és a betűtípus és a hátteret.

TEH3OP írta (a): De bomlik színösszetevőinek, lehetséges, és így (mellesleg ez a leggyorsabb módja):
Kód: Egész kiválasztása „, hogy hozzon létre egy projektet anélkül alkot egy modult. És felkeltek neki ezt a kódot.

Public Type RGBColors
rgbRed Ahogy Byte
rgbGreen Ahogy Byte
rgbBlue Ahogy Byte
rgbReserved Ahogy Byte
vége típusa

Public Sub Main # 40; # 41;
Dim lngColor Ahogy OLE_COLOR
Dim udtRGB Ahogy RGBColors

lngColor = VBA.RGB # 40; 188, 81, 204 # 41;

„Az azonnali ez: "188 | 81 | 204"
Debug.Print udtRGB.rgbRed; "|"; udtRGB.rgbGreen; "|"; udtRGB.rgbBlue
End Sub

A háttér színe csak kérni egy általános, egy szót sem, de azt el kell különíteni. De én már megoldotta ezt a problémát, tyomitch'a, amiért köszönet újra.

Kapcsolódó cikkek