2011-06-22 40 views
0

例如,我有一個多邊形,我需要用特定的RGB填充它。我該怎麼做?我試圖形狀轉換圖像,但我無法從BufferedImage的設定setRGB方法的像素(像素顏色不改變!):如何在具有特定RGB的形狀中設置像素?

... 
    Rectangle2D r = pgnProjection.getBounds(); 
    BufferedImage rectBuffIm = new BufferedImage(r.getBounds().width, r.getBounds().height, 
             BufferedImage.TYPE_BYTE_BINARY); 
    for(int i = rectBuffIm.getWidth()/2, j = rectBuffIm.getHeight()/2; rectBuffIm.getWidth()>i && rectBuffIm.getHeight()>j; j++, i++) 
     rectBuffIm.setRGB(i, j, rgb); 

    Graphics2D gr2D = rectBuffIm.createGraphics(); 
    gr2D.translate(-pgnProjection.getBounds().x, -pgnProjection.getBounds().y); 
    gr2D.draw(pgnProjection); 
    gr2D.dispose(); 
... 

此外,圖像背景是黑色,並設置像素分別爲總是白色的。

回答

1

呼叫Graphics.setClip(Shape)隨後繪圖操作。看到這裏爲an example

相關問題