當前位置: 首頁>>代碼示例>>Java>>正文


Java Graphics2D.fill3DRect方法代碼示例

本文整理匯總了Java中java.awt.Graphics2D.fill3DRect方法的典型用法代碼示例。如果您正苦於以下問題:Java Graphics2D.fill3DRect方法的具體用法?Java Graphics2D.fill3DRect怎麽用?Java Graphics2D.fill3DRect使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在java.awt.Graphics2D的用法示例。


在下文中一共展示了Graphics2D.fill3DRect方法的2個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Java代碼示例。

示例1: buildImage

import java.awt.Graphics2D; //導入方法依賴的package包/類
public Image buildImage(GamePieceImage defn) {
  // Create our base image
  final BufferedImage image = ImageUtils.createCompatibleTranslucentImage(
    Math.max(width,1),
    Math.max(height,1)
  );
  final Graphics2D g = image.createGraphics();

  // Fill in the sample Background color
  Color bgColor = defn.getBgColor().getColor();
  g.setColor(bgColor);

  if (getBorder().equals(BORDER_3D)) {
    if (bgColor != null) g.fill3DRect(0, 0, width, height, true);
  }
  else {
    if (bgColor != null) g.fillRect(0, 0, width, height);

    // Add Border
    if (getBorder().equals(BORDER_PLAIN) || getBorder().equals(BORDER_FANCY)) {
      Color bg = bgColor == null ? Color.WHITE : bgColor;
      g.setColor(defn.getBorderColor().getColor());
      g.setStroke(new BasicStroke(1.0f, BasicStroke.CAP_ROUND, BasicStroke.JOIN_ROUND));
      g.drawRect(0, 0, width - 1, height - 1);
      if (getBorder().equals(BORDER_FANCY)) {
        Color lt = new Color(bg.getRed()   / 2,
                             bg.getGreen() / 2,
                             bg.getBlue()  / 2);
        Color dk = new Color(bg.getRed()   + (255 - bg.getRed())   / 2,
                             bg.getGreen() + (255 - bg.getGreen()) / 2,
                             bg.getBlue()  + (255 - bg.getBlue())  / 2);
        g.setColor(dk);
        g.drawLine(1, 1, width - 3, 1);
        g.drawLine(1, 2, 1, height - 3);
        g.setColor(lt);
        g.drawLine(width - 2, 2, width - 2, height - 2);
        g.drawLine(2, height - 2, width - 3, height - 2);
      }
    }
  }

  // layer each item over the top
  for (Item item : items) {
    if (item != null) {
      item.draw(g, defn);
    }
  }

  g.dispose();

  return image;
}
 
開發者ID:ajmath,項目名稱:VASSAL-src,代碼行數:53,代碼來源:GamePieceLayout.java

示例2: drawOverlay

import java.awt.Graphics2D; //導入方法依賴的package包/類
/**
 * Called from another thread, must be synchronized 
 */
@Override
public synchronized void drawOverlay(Graphics g, LevelScene levelScene, int playerIndex) {
	
	if(reservoirBars == null) {
		return;
	}
	if(agent != null && agent.getPlayerIndex() != GlobalOptions.playerGameWorldToDisplay) {
		return;
	}
	

	Image[] motivations= calculateImages();
	
	int imageSize = imageMaximumSize;
	int padding = 3;
	
	
	int boxWidth = (imageSize * motivations.length ) + (padding *  motivations.length );
	int boxHeight = (imageSize)+padding*2;
	
	int yTopleftCorner = GlobalOptions.yScreen -(boxHeight+1);
	int xTopleftCorner = 0;		
	

	
	Graphics2D g2d =(Graphics2D) g;

	
	
	
	g2d.setColor(new Color(255, 255, 255, 200));
	
	g2d.fill3DRect(xTopleftCorner,yTopleftCorner , boxWidth, boxHeight, true);
	g2d.setColor(Color.GRAY);
	g2d.draw3DRect(xTopleftCorner+1,yTopleftCorner+1 , boxWidth-1, boxHeight-1, true);
	

	g2d.setColor(null);
	for(int i = 0; i<motivations.length; i++) {
		
		int xOffset = (xTopleftCorner+ i*imageSize) +(  (boxWidth - (motivations.length*imageSize)) / motivations.length );
		int yOffset = (yTopleftCorner + ((boxHeight-motivations[i].getHeight(null))/2));
		g2d.drawImage(motivations[i], xOffset, yOffset, null);
	}
	
	

}
 
開發者ID:CognitiveModeling,項目名稱:BrainControl,代碼行數:52,代碼來源:MotivationsOverlay.java


注:本文中的java.awt.Graphics2D.fill3DRect方法示例由純淨天空整理自Github/MSDocs等開源代碼及文檔管理平台,相關代碼片段篩選自各路編程大神貢獻的開源項目,源碼版權歸原作者所有,傳播和使用請參考對應項目的License;未經允許,請勿轉載。