سؤال

هل هناك طريقة لتغيير قيمة LSB من مكونات java.awt.color RGB؟

هل كانت مفيدة؟

المحلول

تحول قليلا على:

int value = someValue | 0x1;

تحول قليلا:

int value = someValue & (~0x1);

تبديل قليلا أو إيقاف تشغيله إذا كان خارج أو قبل:

int value = someValue ^ 0x1;

بمعنى آخر: Somevalue هو ثنائي أو مع رقم مع LSB على ذلك سيكون الرقم الناتج LSB أيضا.

يتم تشغيل بعضها مع عدد مع جميع البتات إلا LSB على ذلك العدد الناتج سيكون له LSB قبالة.

Somevalue هو XOR'ed مع رقم مع LSB على، لذلك سيكون الرقم الناتج يتم تبديل LSB.

نصائح أخرى

فئة اللون غير قابلة للتغيير، لا يمكنك تغيير أي شيء. ومع ذلك، يمكنك إنشاء لون جديد مع أي قيمة تريدها. علي سبيل المثال،

   int oldValue = oldColor.getRGB();
   int newValue = (oldValue & 0xFFFFFF00) | (lsb & 0xFF);
   Color newColor = new Color(newValue);
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top