我練我的揮杆能力,爲即將到來的測試,並且炒了我的想法畫生物危害標誌是這樣的:如何繪製「生化危機」擺動
alt text http://img62.imageshack.us/img62/8372/lab6b.gif
我可以畫界Elipse2D,但我不知何故需要切割這3個三角形。任何想法,我可以做到這一點?
我練我的揮杆能力,爲即將到來的測試,並且炒了我的想法畫生物危害標誌是這樣的:如何繪製「生化危機」擺動
alt text http://img62.imageshack.us/img62/8372/lab6b.gif
我可以畫界Elipse2D,但我不知何故需要切割這3個三角形。任何想法,我可以做到這一點?
您可以使用Java2D和canvas進行此操作。你可能使用的是Circle和Arc。你應該有三個30度的弧。
我試圖在框架上使用簡單的圖形。
下面是一個嘗試
import java.awt.Color;
import java.awt.Graphics;
import javax.swing.JComponent;
import javax.swing.JFrame;
public class Biohazard {
public static void main(String[] args) {
new Biohazard();
}
public Biohazard() {
JFrame frame = new JFrame("Biohazard");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.getContentPane().add(new MyComponent());
frame.setSize(260, 280);
frame.setVisible(true);
}
public class MyComponent extends JComponent {
public void paint(Graphics g) {
int height = 120;
int width = 120;
g.setColor(Color.yellow);
g.fillOval(60, 60, height, width);
g.setColor(Color.black);
g.drawOval(60, 60, height, width);
int swivels = 6;
int commonx, commony, commonh, commonw;
for(int i=0;i<swivels;i++){
commonx = commony = 120-i*10;
commonh = commonw = i*20;
g.drawArc(commonx, commony, commonh, commonw, 60 , 60);
g.drawArc(commonx, commony, commonh, commonw, 180 , 60);
g.drawArc(commonx, commony, commonh, commonw, 300 , 60);
}
}
}
}
原來的一個:源代碼可以在http://pastebin.com/HSNFx7Gq
也許這實際上很簡單(我不確定Swing API如何處理線條)。畫出從中心到圓周上的點的線條,並跳過這些部分進行線條繪製。
可以使用Arc2D
類通過指定start
和extent
參數(以度爲單位)繪製每一行。
找到我知道我是迂腐,但是這就是輻射危險符號,不生物危害;)雖然如果你正在練習,實際的生物危害符號可能是另一個很好的嘗試Swing的人。它有很多圈:)(http://en.wikipedia.org/wiki/File:Biohazard.svg)。 – 2010-04-25 21:33:04
@Rich這將是一個該死的好編碼競賽,因此:) – 2010-04-25 21:41:40
@Chris:我實施了真正的生物危害,但我不認爲這是正確的地方把它.. – bragboy 2010-04-26 08:29:54