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

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

如何編寫在三種顏色之間進(jìn)行選擇以生成特定圖像的條件語句

如何編寫在三種顏色之間進(jìn)行選擇以生成特定圖像的條件語句

慕虎7371278 2023-12-13 14:29:06
我正在為我在大學(xué)修讀的計(jì)算機(jī)科學(xué)課程做一個(gè)實(shí)驗(yàn)室。問題指出,“讓每個(gè)返回顏色的 int 表示形式。還讓每個(gè)接受四個(gè) int 參數(shù):列索引、行索引、圖像寬度和圖像高度。最終,您將使用這些參數(shù)在顏色之間進(jìn)行仲裁”。具體來說,對(duì)于我無法弄清楚的方法,問題是“在方法 boxColor 中,編寫一個(gè)條件語句,在三種顏色之間進(jìn)行選擇以生成此圖像”。這是圖像:圖像很明顯,我的教授在這里期望的是分配的另一個(gè)問題的快速示例。問題指出,“在方法 stripesColor 中,編寫一個(gè)條件語句,在三種顏色之間進(jìn)行選擇以生成此圖像:”圖片:圖片這是我為完成任務(wù)而編寫的代碼: public static int stripesColor(int column, int row, int imWidth, int imHeight) {      if (column < (imHeight / 3)) {         return Color.red.getRGB();      } else if ((column < 2 * (imHeight / 3))) {         return Color.pink.getRGB();      } else {         return Color.orange.getRGB();    }  }我還應(yīng)該提到,為了清楚起見,教授為我們提供了一個(gè)類,它將使用我們編寫的方法來生成圖像,我們只負(fù)責(zé)進(jìn)行計(jì)算以獲得他提供的圖片。我嘗試找到整個(gè)正方形 (512px x 512px) 的對(duì)角線,并將較小的正方形放在總大小的 1/5 內(nèi)部,但我不確定我所做的是否是錯(cuò)誤的,或者是否有另一個(gè)這樣做的方法。如有任何幫助,我們將不勝感激,謝謝。
查看完整描述

2 回答

?
DIEA

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

我建議將其分解為較小的問題并單獨(dú)處理。首先只關(guān)注一個(gè)案例,也許是最簡單的一個(gè),然后再解決其他案例。


就在我的腦海里,別讓我太在意數(shù)學(xué)……


public static int stripesColor(int column, int row, int imWidth, int imHeight) {

    // Just worry about the square in the center for now.


    // If pixel is not in left/bottom or top/right quarters:

    if (imWidth / 4 < column < (imWidth * 3)/4) && 

    (imHeight / 4 < row < (imHeight * 3)/4) {


        return Color.hotpink.getRGB();


    } else if {

        // We know that any pixel in the center square is already taken care of, 

        // so the logic for the rest can completely ignore that.

        // It can be written as though the square isn't in the image at all.

    } else {

        // Last remaining color

    }

}

我也不知道內(nèi)部正方形的暗淡是總大小的 1/2 還是 3/5;我在這里假設(shè)為 1/2,但最終這并不重要。希望這可以幫助您擺脫困境。


如果條件內(nèi)的數(shù)學(xué)if看起來很糟糕,您始終可以為這些值初始化單獨(dú)的變量,然后條件將更加清晰(并且基本上是自記錄的)。


查看完整回答
反對(duì) 回復(fù) 2023-12-13
?
偶然的你

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

這與其說是一個(gè)編碼問題,不如說是一個(gè)如何構(gòu)建組合邏輯的問題。

讓我們拆開盒子。該盒子基本上由三部分組成 - 左上半部分的黃色三角形,右下半部分的青色三角形,以及覆蓋在頂部的洋紅色正方形。

好的。讓我們看第一部分——我們?nèi)绾味x圖像的左上半部分?如果我們將方形圖像像素視為圖形,則分割黃色和青色的中心線就是從原點(diǎn) (0,0) 到左上角 (imWidth, imHeight) 的線。這條線的斜率為 1,形式為 y=x。因此,左上角的像素是列 <= 行的任何位置。

因此,當(dāng)column <= row時(shí),我們將返回值設(shè)置為黃色整數(shù)值。

對(duì)于左下角,我們選擇相反的比較,因此當(dāng)列 > 行時(shí),我們將返回值設(shè)置為青色整數(shù)值。

現(xiàn)在為了處理覆蓋,我們想要找到像素位于該中心區(qū)域內(nèi)的情況。假設(shè)我們希望圖像占據(jù)中間的 80%,那么我們需要將緩沖區(qū)設(shè)置為總大小的 10%。所以我們檢查的是是否 (imWidth * (0.1) < row ) && (row < imWidth * (1-0.1)) && (imHeight * (0.1) < column) && (column < imHeight * (1-0.1) ))

public static int boxColor(int column, int row, int imWidth, int imHeight) {

    final int UPPER_LEFT_COLOR = 0; // Set to upper-left color.

    final int LOWER_RIGHT_COLOR = 128; // Set to lower-right color.

    final int CENTER_SQUARE_COLOR = 255; // Set to center color.

    final double MARGIN_AMOUNT = 0.1; // Set to buffer percentage


    int return_color = 0; //Initialize the return value to something.

    // First set the return value based on the midline split.

    if (column <= row) {

        return_color = UPPER_LEFT_COLOR;

    } else {

        return_color = LOWER_RIGHT_COLOR;

    }

    // Test for the overlay and reset the return value.

    if ((imWidth * (MARGIN_AMOUNT) < row ) && (row < imWidth * (1-MARGIN_AMOUNT)) && (imHeight * (MARGIN_AMOUNT) < column) && (column < imHeight * (1-MARGIN_AMOUNT))) {

        return_color = CENTER_SQUARE_COLOR;

    }

    // Return the finally determined value.

    return return_color;

}


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

添加回答

舉報(bào)

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號(hào)

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