codepad
[
create a new paste
]
login
|
about
Language:
C
C++
D
Haskell
Lua
OCaml
PHP
Perl
Plain Text
Python
Ruby
Scheme
Tcl
// Codificación de colores // aritmética de bits // (C) 2009 Con Clase // Salvador Pozo #include <iostream> using namespace std; typedef unsigned long int color ; typedef unsigned char BYTE; typedef unsigned long int DWORD; inline BYTE ObtenerValorRojo(color); inline BYTE ObtenerValorVerde(color); inline BYTE ObtenerValorAzul(color); inline BYTE ObtenerValorAlfa(color); inline color ModificarValorRojo(color, BYTE); inline color ModificarValorVerde(color, BYTE); inline color ModificarValorAzul(color, BYTE); inline color ModificarValorAlfa(color, BYTE); int main() { color c1 = 0x80fedc12; cout << "Color: " << dec << c1 << " - " << hex << c1 << endl; cout << "Rojo: " << dec << (int)ObtenerValorRojo(c1) << " - " << hex << (int)ObtenerValorRojo(c1) << endl; cout << "Verde: " << dec << (int)ObtenerValorVerde(c1) << " - " << hex << (int)ObtenerValorVerde(c1) << endl; cout << "Azul: " << dec << (int)ObtenerValorAzul(c1) << " - " << hex << (int)ObtenerValorAzul(c1) << endl; cout << "Alfa: " << dec << (int)ObtenerValorAlfa(c1) << " - " << hex << (int)ObtenerValorAlfa(c1) << endl; c1 = ModificarValorRojo(c1, 0x42); c1 = ModificarValorVerde(c1, 0xde); cout << "Color: " << dec << c1 << " - " << hex << c1 << endl; cout << "Rojo: " << dec << (int)ObtenerValorRojo(c1) << " - " << hex << (int)ObtenerValorRojo(c1) << endl; cout << "Verde: " << dec << (int)ObtenerValorVerde(c1) << " - " << hex << (int)ObtenerValorVerde(c1) << endl; cout << "Azul: " << dec << (int)ObtenerValorAzul(c1) << " - " << hex << (int)ObtenerValorAzul(c1) << endl; cout << "Alfa: " << dec << (int)ObtenerValorAlfa(c1) << " - " << hex << (int)ObtenerValorAlfa(c1) << endl; return 0; } inline BYTE ObtenerValorRojo(color c) { return (BYTE)(c); } inline BYTE ObtenerValorVerde(color c) { return (BYTE)(c >> 8); } inline BYTE ObtenerValorAzul(color c) { return (BYTE)(c >> 16); } inline BYTE ObtenerValorAlfa(color c) { return (BYTE)(c >> 24); } inline color ModificarValorRojo(color c, BYTE r) { return (c & 0xffffff00) | (color)r; } inline color ModificarValorVerde(color c, BYTE g) { return (c & 0xffff00ff) | (color)(g << 8); } inline color ModificarValorAzul(color c, BYTE b) { return (c & 0xff00ffff) | (color)(b << 16); } inline color ModificarValorAlfa(color c, BYTE a) { return (c & 0x00ffffff) | (color)(a << 24); }
Private
[
?
]
Run code
Submit