⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 toolitem.java

📁 ASCII图画分类: 图像处理 可以将鼠标画的图象转成ASCII的形式
💻 JAVA
📖 第 1 页 / 共 2 页
字号:
//Something that you can click on and select as a drawing tool//Something that controls an AsciiDrawPanel (sets its color)//This is similar to the paletteItem class.////// Each item has a certain pre-defined size.// This carries an ICON which is just a description of where// the pixels of the item's picture should be drawn.// When selected, all white space is yellow.//
package joeh.asciidraw;import java.awt.*;import java.applet.*;import java.util.*;public class toolItem extends Panel {	boolean isSelected = false;	int kind;	ICON icon;	AsciiDrawPanel adp;   public toolItem(ICON icn, int k, AsciiDrawPanel whatToControl) {		adp = whatToControl;		kind = k;		icon = icn;   }   public int getKind () {	  return kind;   }   public void deselect() {		isSelected = false;		this.repaint();   }      private void drawNormalBox(Graphics gg){   //DRAW A YELLOW BACKGROUND      int w = this.size().width;      int h = this.size().height;      gg.setColor(Color.white);      gg.fillRect(0,0,w,h);   }   private void drawSelectionBox(Graphics gg){   //DRAW A WHITE BACKGROUND      int w = this.size().width;      int h = this.size().height;      gg.setColor(Color.yellow);      gg.fillRect(0,0,w,h);   }   public void select() {      isSelected = true;      adp.setTool(kind); //set it in the draw window      adp.setToolSelection(this);      //Graphics g = this.getGraphics();      //drawSelectionBox(g);      this.repaint();   }   public void paint(Graphics g) {      int w = this.size().width;      int h = this.size().height;      if (isSelected) drawSelectionBox(g);      else drawNormalBox(g);      icon.drawMe(g, Color.blue, 2, 2);  //2 is the border ne   }   public Dimension minimumSize() {   //The size of an ICON   return preferredSize();     }  public Dimension preferredSize() {    return new Dimension(30, 30);  }public boolean handleEvent(Event evt)   {    switch(evt.id)             {               case Event.MOUSE_DOWN:               {                  select();                  adp.requestFocus(); //give the focus back to the panel so that                    //it can be typed to without first having to click the mouse there.                  return true;               }             }            return true;    }       }class ICON extends Object {//How to draw an icon is hardcoded.  We just choose based on kind.// Why and how:://  Well, in the AsciiDraw.java file where it outputs the data//  to ascii there is a flag to control the output of the//  java code used below.  In other words, I used ascii draw//  to draw the icons, then I outputted the java code, stuck it in here// and re-compiled.  Cool eh.int myKind;Image selectedImage;Image unselectedImage;boolean firstSel = true;boolean firstUn = true;	public ICON(int kind) {	  myKind = kind;	}    public void drawMe(Graphics g, Color c, int x, int y) {      g.setColor(c);      //loop through data structure to draw self         	     if (myKind == ToolType.PENCIL)	       drawPENCIL(g);	     else if (myKind == ToolType.FILL)	       drawFILL(g);	     else if (myKind == ToolType.BRUSH)	       drawBRUSH(g);        }//Here (these drawXXXXX routines) is one of two places where this program helped make itself!private void drawPENCIL(Graphics g) {// Generated by AsciiDraw// (c) 1996, Joe Heitzeberg.// If you want some picture to be used in a Java// program, but you don't want to code it up,// just draw it with AsciiDraw and output the code!// Because it is hard-coded, it is fast...g.setColor(new Color(-8650628));g.fillRect(11, 2, 1, 1); g.setColor(new Color(-5111630));g.fillRect(12, 2, 2, 1); g.setColor(new Color(-65281));g.fillRect(14, 2, 4, 1); g.setColor(new Color(-8650628));g.fillRect(11, 3, 1, 1); g.setColor(new Color(-5111630));g.fillRect(12, 3, 2, 1); g.setColor(new Color(-65281));g.fillRect(14, 3, 4, 1); g.setColor(new Color(-8650628));g.fillRect(11, 4, 1, 1); g.setColor(new Color(-5111630));g.fillRect(12, 4, 2, 1); g.setColor(new Color(-65281));g.fillRect(14, 4, 4, 1); g.setColor(new Color(-12698050));g.fillRect(11, 5, 1, 1); g.setColor(new Color(-10921639));g.fillRect(12, 5, 1, 1); g.setColor(new Color(-8355712));g.fillRect(13, 5, 1, 1); g.setColor(new Color(-10921639));g.fillRect(14, 5, 1, 1); g.setColor(new Color(-12698050));g.fillRect(15, 5, 1, 1); g.setColor(new Color(-8355712));g.fillRect(16, 5, 2, 1); g.setColor(new Color(-12698050));g.fillRect(11, 6, 1, 1); g.setColor(new Color(-10921639));g.fillRect(12, 6, 1, 1); g.setColor(new Color(-8355712));g.fillRect(13, 6, 1, 1); g.setColor(new Color(-10921639));g.fillRect(14, 6, 1, 1); g.setColor(new Color(-12698050));g.fillRect(15, 6, 1, 1); g.setColor(new Color(-8355712));g.fillRect(16, 6, 2, 1); g.setColor(new Color(-12698050));g.fillRect(11, 7, 1, 1); g.setColor(new Color(-10921639));g.fillRect(12, 7, 1, 1); g.setColor(new Color(-8355712));g.fillRect(13, 7, 1, 1); g.setColor(new Color(-10921639));g.fillRect(14, 7, 1, 1); g.setColor(new Color(-12698050));g.fillRect(15, 7, 1, 1); g.setColor(new Color(-8355712));g.fillRect(16, 7, 2, 1); g.setColor(new Color(-8625664));g.fillRect(11, 8, 2, 1); g.setColor(new Color(-5075968));g.fillRect(13, 8, 3, 1); g.setColor(new Color(-14336));g.fillRect(16, 8, 2, 1); g.setColor(new Color(-8625664));g.fillRect(11, 9, 2, 1); g.setColor(new Color(-5075968));g.fillRect(13, 9, 3, 1); g.setColor(new Color(-14336));g.fillRect(16, 9, 2, 1); g.setColor(new Color(-8625664));g.fillRect(11, 10, 2, 1); g.setColor(new Color(-5075968));g.fillRect(13, 10, 3, 1); g.setColor(new Color(-14336));g.fillRect(16, 10, 2, 1); g.setColor(new Color(-8625664));g.fillRect(11, 11, 2, 1); g.setColor(new Color(-5075968));g.fillRect(13, 11, 3, 1); g.setColor(new Color(-14336));g.fillRect(16, 11, 2, 1); g.setColor(new Color(-8625664));g.fillRect(11, 12, 2, 1); g.setColor(new Color(-5075968));g.fillRect(13, 12, 3, 1); g.setColor(new Color(-14336));g.fillRect(16, 12, 2, 1); g.setColor(new Color(-8625664));g.fillRect(11, 13, 2, 1); g.setColor(new Color(-5075968));g.fillRect(13, 13, 3, 1); g.setColor(new Color(-14336));g.fillRect(16, 13, 2, 1); g.setColor(new Color(-8625664));g.fillRect(11, 14, 2, 1); g.setColor(new Color(-5075968));g.fillRect(13, 14, 3, 1); g.setColor(new Color(-14336));g.fillRect(16, 14, 2, 1); g.setColor(new Color(-8625664));g.fillRect(11, 15, 2, 1); g.setColor(new Color(-5075968));g.fillRect(13, 15, 3, 1); g.setColor(new Color(-14336));g.fillRect(16, 15, 2, 1); g.setColor(new Color(-8625664));g.fillRect(11, 16, 2, 1); g.setColor(new Color(-5075968));g.fillRect(13, 16, 3, 1); g.setColor(new Color(-14336));g.fillRect(16, 16, 2, 1); g.setColor(new Color(-8625664));g.fillRect(11, 17, 2, 1); g.setColor(new Color(-5075968));g.fillRect(13, 17, 3, 1); g.setColor(new Color(-14336));g.fillRect(16, 17, 2, 1); g.setColor(new Color(-8625664));g.fillRect(11, 18, 2, 1); g.setColor(new Color(-5075968));g.fillRect(13, 18, 3, 1); g.setColor(new Color(-14336));g.fillRect(16, 18, 2, 1); g.setColor(new Color(-8625664));g.fillRect(11, 19, 2, 1); g.setColor(new Color(-5075968));g.fillRect(13, 19, 3, 1); g.setColor(new Color(-14336));g.fillRect(16, 19, 2, 1); g.setColor(new Color(-8625664));g.fillRect(11, 20, 2, 1); g.setColor(new Color(-5075968));g.fillRect(13, 20, 3, 1); g.setColor(new Color(-14336));g.fillRect(16, 20, 2, 1); g.setColor(new Color(-8625664));g.fillRect(12, 21, 1, 1); g.setColor(new Color(-5075968));g.fillRect(13, 21, 3, 1); g.setColor(new Color(-14336));g.fillRect(16, 21, 1, 1); g.setColor(new Color(-8355712));g.fillRect(12, 22, 1, 1); g.setColor(new Color(-12698050));g.fillRect(13, 22, 1, 1); g.setColor(new Color(-5075968));g.fillRect(14, 22, 1, 1); g.setColor(new Color(-12698050));g.fillRect(15, 22, 1, 1); g.setColor(new Color(-8355712));g.fillRect(16, 22, 1, 1); g.fillRect(12, 23, 1, 1); g.setColor(new Color(-12698050));g.fillRect(13, 23, 1, 1); g.setColor(new Color(-16777216));g.fillRect(14, 23, 1, 1); g.setColor(new Color(-12698050));g.fillRect(15, 23, 1, 1); g.setColor(new Color(-8355712));g.fillRect(16, 23, 1, 1); g.fillRect(12, 24, 1, 1); g.setColor(new Color(-12698050));g.fillRect(13, 24, 1, 1); g.setColor(new Color(-16777216));g.fillRect(14, 24, 1, 1); g.setColor(new Color(-12698050));g.fillRect(15, 24, 1, 1); g.setColor(new Color(-8355712));g.fillRect(16, 24, 1, 1); g.setColor(new Color(-12698050));g.fillRect(13, 25, 1, 1); g.setColor(new Color(-16777216));g.fillRect(14, 25, 1, 1); g.setColor(new Color(-12698050));g.fillRect(15, 25, 1, 1); g.setColor(new Color(-16777216));g.fillRect(14, 26, 1, 1);  //End of AsciiDraw generated code section.}private void drawFILL(Graphics g) {// Generated by AsciiDraw// (c) 1996, Joe Heitzeberg.// If you want some picture to be used in a Java// program, but you don't want to code it up,// just draw it with AsciiDraw and output the code!// Because it is hard-coded, it is fast, compact and// can be used over firewalls!g.setColor(new Color(-16777216));g.fillRect(12, 0, 4, 1); g.fillRect(11, 1, 1, 1); g.fillRect(15, 1, 1, 1); g.fillRect(11, 2, 1, 1); g.fillRect(15, 2, 1, 1); g.fillRect(11, 3, 1, 1); g.fillRect(15, 3, 1, 1); g.fillRect(11, 4, 1, 1); g.fillRect(14, 4, 3, 1); g.fillRect(11, 5, 1, 1); g.fillRect(13, 5, 1, 1); g.setColor(new Color(-8355712));g.fillRect(14, 5, 1, 1); 

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -