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

📄 maxicode.java

📁 著名IDAutomation公司的JAVA条码控件源码
💻 JAVA
📖 第 1 页 / 共 4 页
字号:
			g2.setColor(this.backColor);
			g2.fillArc(centerX-r5,centerY-r5,r5*2,r5*2,0,360);
			g2.setColor(this.color);
			g2.fillArc(centerX-r4,centerY-r4,r4*2,r4*2,0,360);
			g2.setColor(this.backColor);
			g2.fillArc(centerX-r3,centerY-r3,r3*2,r3*2,0,360);
			g2.setColor(this.color);
			g2.fillArc(centerX-r2,centerY-r2,r2*2,r2*2,0,360);
			g2.setColor(this.backColor);
			g2.fillArc(centerX-r1,centerY-r1,r1*2,r1*2,0,360);

			byte bitValue;
			int bit;
			int car;


			byte[] dataTMP=new byte[144];
			byte[] primary=new byte[20];

			String tmpDataStr=dataStr;
			// process tilde
			if (this.getProcessTilde()) tmpDataStr=this.applyTilde(dataStr);

			// extract zip code...
			if ((mode==2) || (mode==3))
			{
				if (this.zipCode.length()==0) tmpDataStr=this.extractPrimaryData(tmpDataStr);

				primary=createPrimary();
			}


			dataTMP=this.encode(tmpDataStr);

			// structured appended?
			byte structuredAppendedChar=(byte) this.parseBits(this.getBits(this.positionOfCode-1,3)+this.getBits(this.numberOfCodes-1,3));

			// if structured append
			if (this.numberOfCodes>1)
			{
				// mode back 2 positions all dtaa in the array
				for (int i=141;i>=0;i--) dataTMP[i+2]=dataTMP[i];

				// add structure append bytes
				dataTMP[0]=(byte) this.PAD;
				dataTMP[1]=structuredAppendedChar;
			}


			if (mode>3)
			{

				// 9 first word into primary message
				for (int i =0;(i<9);i++) primary[i+1]=dataTMP[i];

				primary[0]=(byte) mode;

				// update secondary message
				for (int i=9;i<144;i++) dataTMP[i-9]=dataTMP[i];
			}


			byte[] finalData= new byte[144];

			for (int i=0;i<10;i++) finalData[i]=primary[i];
			for (int i=20;i<144;i++) finalData[i]=dataTMP[i-20];

			// add SEC
			this.addReedSolomon(finalData);


			int tmpx=0;
			int tmpy=0;
			boolean even=true;

			for (int j=0;j<33;j++)
			{
				tmpx=0;
				if (!even) tmpx=(int) (Xpixels/2);

				for (int i=0;i<30;i++)
				{
					// always black module
					//layout[14][16]=-1;
					if (layout[i][j]==-1)
					{
						paintModule(g2,tmpx,tmpy,pattern,this.color);
					}

					// normal value
					if (layout[i][j]>0)
					{
						car=(int) java.lang.Math.floor((layout[i][j]-1)/6);

						bit=layout[i][j]-(car*6);
						bitValue=0;

						if (layout[i][j]==1)
						{
							int hh=0;
						}

						if (bit==1) bitValue=32;
						if (bit==2) bitValue=16;
						if (bit==3) bitValue=8;
						if (bit==4) bitValue=4;
						if (bit==5) bitValue=2;
						if (bit==6) bitValue=1;

						java.awt.Color c=this.color;


						//if (car<20) c=java.awt.Color.red;
						//else {
						//  if (car<30) {
						//       c=java.awt.Color.blue;
						//  }
						//}


						if ((finalData[car] & bitValue)>0)  paintModule(g2,tmpx,tmpy,pattern,c);

					}

					tmpx=tmpx+this.Wpixels;
				}

				even=!even;
				tmpy=tmpy+this.Ypixels;
			}


		// demo
		if (d!=1) {
			java.util.Calendar calendar=java.util.Calendar.getInstance();
			int ml=calendar.get(java.util.Calendar.MILLISECOND);
			//for non demo rem out next 6 lines
			if (ml<400)
			{
				g2.setColor(this.backColor);
				g2.fillRect(centerX-r6,centerY-r6,r6*2,r6*2);
				g2.setColor(this.color);
				g2.drawString(""+((char) 68)+((char) 69)+((char) 77)+((char) 79),centerX-r6,centerY);
			}
		}

	   }
	   // rotate and copy final image, if we used a temporary
	   if (tmpImage!=null) {
               Image tmpImage2=tmpImage;
               if (rotation!=0) tmpImage2=this.rotate(tmpImage,rotation,prefW,prefH);

               if ((autoResize) && ((prefW>this.getSize().width) || (prefH>this.getSize().height))) {
                 // first try to use full width
                 int newW=this.getSize().width;
                 int newH= (int) ((double) (newW*this.prefH)/this.prefW);

                 // use full height
                 if (newH>this.getSize().height) {
                     newH=this.getSize().height;
                     newW=(int)  ((double) (newH*this.prefW)/this.prefH);
                 }

                 // copy and schrink image
                 g.drawImage(tmpImage2,offsetX,offsetY,offsetX+newW,offsetY+newH,0,0,prefW,prefH,null);

               } // copy image
              else g.drawImage(tmpImage2,offsetX,offsetY,null);
           }

	}



 // function to rotate an area of an image, 90, 180 or 270 degrees
/** rotates an image
 */
   protected Image rotate(Image im, int angle,int maxw, int maxh) {
        int w=im.getWidth(null);
        int h= im.getHeight(null);

		if (maxw > w ) maxw=w;
		if (maxh > h ) maxh=h;

        int[] pixels = new int[w * h];
        int[] pixels2 = new int[maxw * maxh];
	PixelGrabber pg = new PixelGrabber(im, 0,0, w, h, pixels, 0, w);
	try {
	    pg.grabPixels();
	} catch (InterruptedException e) {
	    System.err.println("interrupted waiting for pixels!");
	    return null;
	}

	if ((pg.getStatus() & ImageObserver.ABORT) != 0) {
	    System.err.println("image fetch aborted or errored");
	    return null;
	}


     if (angle==90) {
   	    for (int i = 0; i < maxw; i++) {
	      for (int j = 0; j < maxh; j++) {
		   pixels2[(maxh*(maxw-(i+1)))+j]=pixels[(j * w) + i];
	      }
	     }
        return Toolkit.getDefaultToolkit().createImage(new MemoryImageSource( maxh,maxw,pixels2,0,maxh)  ) ;
       }

      if (angle==180) {
   	  for (int i = 0; i < maxw; i++) {
	      for (int j = 0; j < maxh; j++) {
		     pixels2[((maxh-(j+1)) * maxw) + (maxw-(i+1))]=pixels[(j * w) + i];
	      }
	  }
       return Toolkit.getDefaultToolkit().createImage( new MemoryImageSource(maxw,maxh,pixels2,0,maxw)  ) ;
      }

      if (angle==270) {
   	    for (int i = 0; i < maxw; i++) {
	      for (int j = 0; j < maxh; j++) {
		   pixels2[(maxh*i)+(maxh-(j+1))]=pixels[(j * w) + i];
	      }
	     }
        return Toolkit.getDefaultToolkit().createImage( new MemoryImageSource( maxh,maxw,pixels2,0,maxh) ) ;
       }


       return null;

   }



int [][] table= {
{0,'E',0},
{1,'E',1},
{2,'E',2},
{3,'E',3},
{4,'E',4},
{5,'E',5},
{6,'E',6},
{7,'E',7},
{8,'E',8},
{9,'E',9},
{10,'E',10},
{11,'E',11},
{12,'E',12},
{13,'E',13},
{13,'A',0},
{14,'E',14},
{15,'E',15},
{16,'E',16},
{17,'E',17},
{18,'E',18},
{19,'E',19},
{20,'E',20},
{21,'E',21},
{22,'E',22},
{23,'E',23},
{24,'E',24},
{25,'E',25},
{26,'E',26},
{27,'E',30},
{28,'E',32},
{28,'A',28},
{28,'B',28},
{28,'C',28},
{28,'D',28},
{29,'C',29},
{29,'D',29},
{29,'B',29},
{29,'A',29},
{29,'D',33},
{30,'C',30},
{30,'D',30},
{30,'B',30},
{30,'E',34},
{30,'A',30},
{31,'E',35},
{32,'D',59},
{32,'A',32},
{32,'E',59},
{32,'C',59},
{32,'B',47},
{33,'B',53},
{34,'A',34},
{35,'A',35},
{36,'A',36},
{37,'A',37},
{38,'A',38},
{39,'A',39},
{40,'A',40},
{41,'A',41},
{42,'A',42},
{43,'A',43},
{44,'A',44},
{44,'B',48},
{45,'A',45},
{46,'B',49},
{46,'A',46},
{47,'B',50},
{47,'A',47},
{48,'A',48},
{49,'A',49},
{50,'A',50},
{51,'A',51},
{52,'A',52},
{53,'A',53},
{54,'A',54},
{55,'A',55},
{56,'A',56},
{57,'A',57},
{58,'A',58},
{58,'B',51},
{59,'B',37},
{60,'B',38},
{61,'B',39},
{62,'B',40},
{63,'B',41},
{64,'B',52},
{65,'A',1},
{66,'A',2},
{67,'A',3},
{68,'A',4},
{69,'A',5},
{70,'A',6},
{71,'A',7},
{72,'A',8},
{73,'A',9},
{74,'A',10},
{75,'A',11},
{76,'A',12},
{77,'A',13},
{78,'A',14},
{79,'A',15},
{80,'A',16},
{81,'A',17},
{82,'A',18},
{83,'A',19},
{84,'A',20},
{85,'A',21},
{86,'A',22},
{87,'A',23},
{88,'A',24},
{89,'A',25},
{90,'A',26},
{91,'B',42},
{92,'B',43},
{93,'B',44},
{94,'B',45},
{95,'B',46},
{96,'B',0},
{97,'B',1},
{98,'B',2},
{99,'B',3},
{100,'B',4},
{101,'B',5},
{102,'B',6},
{103,'B',7},
{104,'B',8},
{105,'B',9},
{106,'B',10},
{107,'B',11},
{108,'B',12},
{109,'B',13},
{110,'B',14},
{111,'B',15},
{112,'B',16},
{113,'B',17},
{114,'B',18},
{115,'B',19},
{116,'B',20},
{117,'B',21},
{118,'B',22},
{119,'B',23},
{120,'B',24},
{121,'B',25},
{122,'B',26},
{123,'B',32},
{124,'B',54},
{125,'B',34},
{126,'B',35},
{127,'B',36},
{128,'C',48},
{129,'C',49},
{130,'C',50},
{131,'C',51},
{132,'C',52},
{133,'C',53},
{134,'C',54},
{135,'C',55},
{136,'C',56},
{137,'C',57},
{138,'D',47},
{139,'D',48},
{140,'D',49},
{141,'D',50},
{142,'D',51},
{143,'D',52},
{144,'D',53},
{145,'D',54},
{146,'D',55},
{147,'D',56},
{148,'D',57},
{149,'E',48},
{150,'E',49},
{151,'E',50},
{152,'E',51},
{153,'E',52},
{154,'E',53},
{155,'E',54},
{156,'E',55},
{157,'E',56},
{158,'E',57},
{159,'E',36},
{160,'E',37},
{161,'D',37},
{162,'E',38},
{163,'E',39},
{164,'E',40},
{165,'E',41},
{166,'D',42},
{167,'E',43},
{168,'D',38},
{169,'E',44},
{170,'C',37},
{171,'D',39},
{172,'C',38},
{173,'E',45},
{174,'E',46},
{175,'D',40},
{176,'D',41},
{177,'C',39},
{178,'C',40},
{179,'C',41},
{180,'D',42},
{181,'C',42},
{182,'E',47},
{183,'D',43},
{184,'D',44},
{185,'C',43},
{186,'C',44},
{187,'D',45},
{188,'C',45},
{189,'C',46},
{190,'C',47},
{191,'D',46},
{192,'C',0},
{193,'C',1},
{194,'C',2},
{195,'C',3},
{196,'C',4},
{197,'C',5},
{198,'C',6},
{199,'C',7},
{200,'C',8},
{201,'C',9},
{202,'C',10},
{203,'C',11},
{204,'C',12},
{205,'C',13},
{206,'C',14},
{207,'C',15},
{208,'C',16},
{209,'C',17},
{210,'C',18},
{211,'C',19},
{212,'C',20},
{213,'C',21},
{214,'C',22},
{215,'C',23},
{216,'C',24},
{217,'C',25},
{218,'C',26},
{219,'C',32},
{220,'C',33},
{221,'C',34},
{222,'C',35},
{223,'C',36},
{224,'D',0},
{225,'D',1},
{226,'D',2},
{227,'D',3},
{228,'D',4},
{229,'D',5},
{230,'D',6},
{231,'D',7},
{232,'D',8},
{233,'D',9},
{234,'D',10},
{235,'D',11},
{236,'D',12},
{237,'D',13},
{238,'D',14},
{239,'D',15},
{240,'D',16},
{241,'D',17},
{242,'D',18},
{243,'D',19},
{244,'D',20},
{245,'D',21},
{246,'D',22},
{247,'D',23},
{248,'D',24},
{249,'D',25},
{250,'D',26},
{251,'D',32},
{252,'C',33},
{253,'D',34},
{254,'D',35},
{255,'D',36}
};

}





⌨️ 快捷键说明

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