第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會(huì)有你想問的

java整數(shù)顏色到顫動(dòng)顏色并返回

java整數(shù)顏色到顫動(dòng)顏色并返回

德瑪西亞99 2023-12-13 16:54:56
我正在將我的應(yīng)用程序從 java 重建為 flutter。我使用 firebase 將顏色存儲(chǔ)為整數(shù)值。在java中,我可以使用以下命令將rgb值轉(zhuǎn)換為整數(shù)值:colorInt = (255 << 24) | (color.red << 16) | (color.green << 8) | color.blue;我可以使用以下命令將整數(shù)值轉(zhuǎn)換為 RGB:int r = (colorInt >> 16) & 0xFF;int g = (colorInt >> 8) & 0xFF;int b = colorInt & 0xFF;如何將 Java 整數(shù)顏色轉(zhuǎn)換為顫動(dòng)顏色并返回?舉個(gè)例子,以 RGB 154、255、147 為例在顫振中,結(jié)果是 4288348051(255 << 24) | (154 << 16) | (255 << 8) | 147;(4278190080) | (10092544) | (65280) | 147;(4278190080) | (10092544) = 4288282624;(4278190080) | (10092544) | (65280) = 4288347904;(4278190080) | (10092544) | (65280) | 147 = 4288348051在java中這將是-6619245(255 << 24) | (154 << 16) | (255 << 8) | 147;(-16777216) | (10092544) | (65280) | 147;(-16777216) | (10092544) = -6684672;(-16777216) | (10092544) | (65280) = -6619392;(-16777216) | (10092544) | (65280) | 147 = -6619245;
查看完整描述

3 回答

?
慕尼黑的夜晚無繁華

TA貢獻(xiàn)1864條經(jīng)驗(yàn) 獲得超6個(gè)贊

Java 使用有符號的 32 位整數(shù)。擴(kuò)展他們發(fā)布的代碼塊,我們可以創(chuàng)建一個(gè)完整的示例,它可以滿足我們的需要:


import 'dart:math';


int chopToJavaInt (int result) {

? while (result > pow(2, 31)) {

? ? result = result - pow(2, 32);

? }

? return result;

}


int javaIntColor(int r, int g, int b) {

? var x = (g << 24) | (r << 16) | (g << 8) | b;

? return chopToJavaInt(x);

}


void main () {

? print(javaIntColor(154, 255, 147)); //-6619245

}

該解決方案是模塊化的,保留了 Java 代碼的原始風(fēng)格,并將返回正確的值。


查看完整回答
反對 回復(fù) 2023-12-13
?
縹緲止盈

TA貢獻(xiàn)2041條經(jīng)驗(yàn) 獲得超4個(gè)贊

Java 使用有符號 32 位 int,因此值介于 -2^31 和 2^31 之間。一旦達(dá)到 2^31,它們就會(huì)從 -1 繼續(xù)到 -2^31。

嘗試將此應(yīng)用于您在 Flutter 中獲得的結(jié)果:

if (result > pow(2, 31)) {
  result = result - pow(2, 32);
}


查看完整回答
反對 回復(fù) 2023-12-13
?
開滿天機(jī)

TA貢獻(xiàn)1786條經(jīng)驗(yàn) 獲得超13個(gè)贊

也許用 1 填充高位數(shù)字?


    int rgb = -6619245;

    final c = Color(rgb);

    print('${c.red} ${c.green} ${c.blue}');

    int fromColorRgb = c.value | 0xFFFFFFFF00000000;

    print('$rgb : $fromColorRgb');

結(jié)果:


I/flutter (10689): 154 255 147

I/flutter (10689): -6619245 : -6619245

假設(shè)您的 Alpha 通道始終為 255


查看完整回答
反對 回復(fù) 2023-12-13
  • 3 回答
  • 0 關(guān)注
  • 219 瀏覽

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號