簡體   English   中英

關於用java2D繪圖的問題

[英]question about drawing with out java2D

我還有一個問題,這也是額外的功課而不是功課。 這次我需要使用java2d創建一個邊框。 這些說明是...寫一個名為drawRectangleBorder的方法,該方法具有六個不使用圖形包的參數。 它繪制以第一個和第二個參數給定的x和y坐標為起點的矩形邊框,具有由第三和第四個參數給定的寬度和高度,由第五個參數給定的邊框寬度為第六個參數給定的顏色。 參數列表是:x,y,寬度,高度,borderWidth,顏色

我使用以前制作的方法在圖片外部創建邊框,但是現在我能做的最好的就是幾個分散的盒子。 最新版本不會顯示任何內容

public void drawRectangleBorder(
        int x, int y, int width, int height, int border, Color newColor) {
    int startX = 0;
    int startY = 0;

    // top and bottom  
    for (startX = x; x < width; x++) {
        for (startY = y; y < border; y++) {
            // top pixel
            this.getPixel(startX, startY).setColor(newColor);
            // bottom pixel
            this.getPixel(startX + width, startY + height).setColor(newColor);
        } // for-y
    } // for-x

    // left and right  
    for (startX = x; x < border; x++) {
        for (startY = y; y < height; y++) {
            // left pixel
            this.getPixel(startX, startY).setColor(newColor);
            // right pixel
            this.getPixel(startX + width, StartY + height).setColor(newColor);
        } // for-y
    } // for-x

    return;
} // end drawRectangleBorder

再次感謝您的投入。

您可以在改變像素java.awt.BufferedImage如圖所示這里

我可能太困了,但我認為您忘記將像素重新設置為此(無論是^^)

我猜想this.getPixel向您發送了副本,因此您可能想要執行類似的操作

Pixel p = this.getPixel( startX, startY );
p.setColor(newColor);
this.setPixel(startX, startY, p);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM