Öncelikle android.graphics.Color sadece statik yöntemlerle oluşan bir sınıf thats için this document bakın. Nasıl ve neden yeni bir android.graphics.Color nesnesi oluşturdunuz?
Ama neyse ... Ben senin aslında verileri saklar ...
bir tamsayı 4 bayt oluşan bazı nesnesini kullanarak kabul edeceğim (Bu tamamen yararsız olduğunu ve nesnenin kendisi hiçbir veri depolayan) (java'da). Standart java Color nesnesinden getRGB() işlevine baktığımızda java'nın her bir renge, ARGB (Alpha-Red-Green-Blue) sırasındaki tamsayıyı bir bayta eşlediğini görebiliyoruz. şöyle özel bir yöntemle bu davranışı çoğaltabilir:
public int getIntFromColor(int Red, int Green, int Blue){
Red = (Red << 16) & 0x00FF0000; //Shift red 16-bits and mask out other stuff
Green = (Green << 8) & 0x0000FF00; //Shift Green 8-bits and mask out other stuff
Blue = Blue & 0x000000FF; //Mask out anything not blue.
return 0xFF000000 | Red | Green | Blue; //0xFF000000 for 100% Alpha. Bitwise OR everything together.
}
Bu şekilde bireysel kırmızı, yeşil ve mavi renk bileşenleri alabilir varsayar ve renkler için geçirilen tüm değerler 0-255 olduğunu.
sizin RGB değerleri 0 ile 1 arasında bir şamandıra yüzdesi şeklinde ise dikkate aşağıdaki yöntemi: Diğerleri belirttiğimiz gibi standart bir java nesnesi kullanıyorsanız
public int getIntFromColor(float Red, float Green, float Blue){
int R = Math.round(255 * Red);
int G = Math.round(255 * Green);
int B = Math.round(255 * Blue);
R = (R << 16) & 0x00FF0000;
G = (G << 8) & 0x0000FF00;
B = B & 0x000000FF;
return 0xFF000000 | R | G | B;
}
, sadece (getRGB kullanmak); Düzgün android renk sınıfını kullanmaya karar verirseniz
da yapabilirsiniz:
int RGB = android.graphics.Color.argb(255, Red, Green, Blue); //Where Red, Green, Blue are the RGB components. The number 255 is for 100% Alpha
veya
int RGB = android.graphics.Color.rgb(Red, Green, Blue); //Where Red, Green, Blue are the RGB components.
diğerleri belirttiğimiz gibi ... (İkinci fonksiyon% 100 alfa varsayar)
Her iki yöntem de temel olarak yukarıda oluşturulan ilk yöntemle aynı şeyi yapar.
kullanmak istiyorum: http://stackoverflow.com/questions/6926644/android-color-to-int-conversion – TravJenkins
renk nesne nereden geliyor ? İlk olarak rengi temsil eden int yerine renk nesnesini geçtiğiniz konusunda kafam karıştı. Android'deki Renk sınıfı, renkli mürekkepleri oluşturmak ve dönüştürmek için statik yöntemleri tanımlar. Benim anlayışından –