c#的图像处理(直方图;反差,密度的四边圆补偿示例)

模拟Photo的直方图,不过只是显示;
有对图像四角的密度和反差进行补偿,这是现在LDD(LCD+LED)数码裁放机上常用的补偿方法!
主要还是对GDI+的应用,大家不妨看看原码!

http://www.nxxn.net/soft/dreign.rar
//图像处理--------------------------------------------------------------------------------------

using System;
using System.Drawing;
using System.Drawing.Imaging;

namespace zft
{
public class BitmapFilter
{
public static bool modu1(Bitmap image,int r,int g,int b)
{
if(r==0) r=1;
if(g==0) g=1;
if(b==0) b=1;
BitmapData bmData = image.LockBits(new Rectangle(0, 0,image.Width , image.Height), ImageLockMode.ReadWrite, PixelFormat.Format24bppRgb);
unsafe
{
int stride = bmData.Stride;
System.IntPtr Scan0 = bmData.Scan0;
byte * p = (byte *)(void )Scan0;
int nOffset = stride - image.Width
3;

int nWidth=image.Width;
int nHeight=image.Height;
int red,green,blue;

int w0=(int)(nWidth/2);
int h0=(int)(nHeight/2);
int r0,t1,t2,kr=r,kg=g,kb=b;
double z,z0;

int k1r=r,k1g=g,k1b=b,
k2r=r,k2g=g,k2b=b,
k3r=r,k3g=g,k3b=b,
k4r=r,k4g=g,k4b=b;

if(w0>h0)
r0=w0;
else
r0=h0;
z0=Math.Sqrt(w0w0+h0h0);
z0=z0/1.5;

for(int y=0;y

   1<nheight;++y) )="" ++x="" <="" blue="p[0];" blue+="kb;" double="" else="" for(int="" green="p[1];" green+="kg;" if(red="" if(t1<0)="" if(t2<0)="" if(z<z0)="" kb="(int)(15*b*xx*xx);" kg="(int)(15*g*xx*xx);" kr="(int)(15*r*xx*xx);" nwidth;="" red="p[2];" red+="kr;" t1="0-t1;" t2="0-t2;" x="" xx="(z-z0)/z;" z="z0;" {="" }="">255) red=255;   
   2if(red&lt;0) red=0;   
   3if(green&gt;255) green=255;   
   4if(green&lt;0) green=0;   
   5if(blue&gt;255) blue=255;   
   6if(blue&lt;0) blue=0;   
   7  
   8p[2]=(byte)red;   
   9p[1]=(byte)green;   
  10p[0]=(byte)blue;   
  11  
  12p+=3;   
  13}   
  14p += nOffset;   
  15  
  16}   
  17}   
  18image.UnlockBits(bmData);   
  19return true;   
  20} 
  21
  22/// <summary>   
  23/// 反差圆补偿   
  24/// </summary>   
  25/// <param name="image"/>图像   
  26/// <param name="con"/>反差系数   
  27/// <param name="k"/>圆半径系数   
  28/// <returns></returns>   
  29public static bool ccon(Bitmap image,float con,float k)   
  30{   
  31BitmapData bmData = image.LockBits(new Rectangle(0, 0,image.Width , image.Height), ImageLockMode.ReadWrite, PixelFormat.Format24bppRgb);   
  32unsafe   
  33{   
  34int stride = bmData.Stride;   
  35System.IntPtr Scan0 = bmData.Scan0;   
  36byte * p = (byte *)(void *)Scan0;   
  37int nOffset = stride - image.Width*3;   
  38  
  39int nWidth=image.Width;   
  40int nHeight=image.Height;   
  41int red,green,blue; 
  42
  43int w0=(int)(nWidth/2);   
  44int h0=(int)(nHeight/2);   
  45int r0,t1,t2;   
  46double z,z0,pixel,contrast;   
  47  
  48if(w0&gt;h0)   
  49r0=w0;   
  50else   
  51r0=h0;   
  52z0=Math.Sqrt(w0*w0+h0*h0);   
  53z0=z0/k; 
  54
  55for(int y=0;y<nheight;++y) )="" ++x="" <="" blue="p[0];" for(int="" green="p[1];" if(t1<0)="" if(t2<0)="" if(z="" nwidth;="" red="p[2];" t1="0-t1;" t2="0-t2;" x="" z="Math.Sqrt(t1*t1+t2*t2);" {="">z0)   
  56{   
  57contrast = (z-z0)/z * con ; 
  58
  59pixel = red-(127-red) * contrast;   
  60if (pixel &lt; 0) pixel = 0;   
  61if (pixel &gt; 255) pixel = 255;   
  62p[2] = (byte) pixel; 
  63
  64pixel = green-(127-green) * contrast;   
  65if (pixel &lt; 0) pixel = 0;   
  66if (pixel &gt; 255) pixel = 255;   
  67p[1] = (byte) pixel; 
  68
  69pixel = blue-(127-blue) * contrast;   
  70if (pixel &lt; 0) pixel = 0;   
  71if (pixel &gt; 255) pixel = 255;   
  72p[0] = (byte) pixel;   
  73}   
  74p+=3;   
  75}   
  76p += nOffset;   
  77}   
  78}   
  79image.UnlockBits(bmData);   
  80return true;   
  81}   
  82/// <summary>   
  83/// 基本反差调整   
  84/// </summary>   
  85/// <param name="b"/>   
  86/// <param name="nContrast"/>   
  87/// <returns></returns>   
  88public static bool Contrast(Bitmap b, int nContrast)   
  89{   
  90if (nContrast &lt; -100) return false;   
  91if (nContrast &gt; 100) return false; 
  92
  93double pixel = 0, contrast = (100.0+nContrast)/100.0; 
  94
  95contrast *= contrast; 
  96
  97int red, green, blue;   
  98  
  99// GDI+ still lies to us - the return format is BGR, NOT RGB.   
 100BitmapData bmData = b.LockBits(new Rectangle(0, 0, b.Width, b.Height), ImageLockMode.ReadWrite, PixelFormat.Format24bppRgb); 
 101
 102int stride = bmData.Stride;   
 103System.IntPtr Scan0 = bmData.Scan0;   
 104int h=b.Height,w=b.Width; 
 105
 106unsafe   
 107{   
 108byte * p = (byte *)(void *)Scan0; 
 109
 110int nOffset = stride - b.Width*3; 
 111
 112for(int y=0;y<h;++y) (pixel="" )="" *="255;" +="0.5;" ++x="" -="0.5;" 0)="" <="" blue="p[0];" for(int="" green="p[1];" if="" pixel="0;" red="p[2];" w;="" x="" {=""> 255) pixel = 255;   
 113p[2] = (byte) pixel; 
 114
 115pixel = green/255.0;   
 116pixel -= 0.5;   
 117pixel *= contrast;   
 118pixel += 0.5;   
 119pixel *= 255;   
 120if (pixel &lt; 0) pixel = 0;   
 121if (pixel &gt; 255) pixel = 255;   
 122p[1] = (byte) pixel; 
 123
 124pixel = blue/255.0;   
 125pixel -= 0.5;   
 126pixel *= contrast;   
 127pixel += 0.5;   
 128pixel *= 255;   
 129if (pixel &lt; 0) pixel = 0;   
 130if (pixel &gt; 255) pixel = 255;   
 131p[0] = (byte) pixel; 
 132
 133p += 3;   
 134}   
 135p += nOffset;   
 136}   
 137} 
 138
 139b.UnlockBits(bmData); 
 140
 141return true;   
 142}   
 143  
 144public static bool zft(Bitmap b,out int[] all,out int[] rhow, out int[] ghow,out int[] bhow)   
 145{   
 146int [] gray=new int[256];   
 147int [] rr = new int[256];   
 148int [] gg = new int[256];   
 149int [] bb = new int[256];   
 150int tt=0;   
 151foreach(int i in gray)   
 152{   
 153gray[i]=0;   
 154}   
 155foreach(int i in rr)   
 156{   
 157rr[i]=0;   
 158}   
 159foreach(int i in gg)   
 160{   
 161gg[i]=0;   
 162}   
 163foreach(int i in bb)   
 164{   
 165bb[i]=0;   
 166} 
 167
 168// GDI+ still lies to us - the return format is BGR, NOT RGB.   
 169BitmapData bmData = b.LockBits(new Rectangle(0, 0, b.Width, b.Height), ImageLockMode.ReadWrite, PixelFormat.Format24bppRgb); 
 170
 171int stride = bmData.Stride;   
 172System.IntPtr Scan0 = bmData.Scan0; 
 173
 174unsafe   
 175{   
 176byte * p = (byte *)(void *)Scan0; 
 177
 178int nOffset = stride - b.Width*3; 
 179
 180byte red, green, blue;   
 181int nWidth = b.Width;   
 182int nHeight= b.Height;   
 183  
 184for(int y=0;y&lt;nHeight;++y)   
 185{   
 186for(int x=0; x &lt; nWidth; ++x )   
 187{   
 188blue = p[0];   
 189green = p[1];   
 190red = p[2]; 
 191
 192tt = (byte)(.299 * red + .587 * green + .114 * blue);   
 193#region rr   
 194switch(red)   
 195{   
 196case 0:   
 197rr[0]++;   
 198break;   
 199case 1:   
 200rr[1]++;   
 201break;   
 202case 2:   
 203rr[2]++;   
 204break;   
 205case 3:   
 206rr[3]++;   
 207break;   
 208case 4:   
 209rr[4]++;   
 210break;   
 211case 5:   
 212rr[5]++;   
 213break;   
 214case 6:   
 215rr[6]++;   
 216break;   
 217case 7:   
 218rr[7]++;   
 219break;   
 220case 8:   
 221rr[8]++;   
 222break;   
 223case 9:   
 224rr[9]++;   
 225break;   
 226case 10:   
 227rr[10]++;   
 228break;   
 229case 11:   
 230rr[11]++;   
 231break;   
 232case 12:   
 233rr[12]++;   
 234break;   
 235case 13:   
 236rr[13]++;   
 237break;   
 238case 14:   
 239rr[14]++;   
 240break;   
 241case 15:   
 242rr[15]++;   
 243break;   
 244case 16:   
 245rr[16]++;   
 246break;   
 247case 17:   
 248rr[17]++;   
 249break;   
 250case 18:   
 251rr[18]++;   
 252break;   
 253case 19:   
 254rr[19]++;   
 255break;   
 256case 20:   
 257rr[20]++;   
 258break;   
 259case 21:   
 260rr[21]++;   
 261break;   
 262case 22:   
 263rr[22]++;   
 264break;   
 265case 23:   
 266rr[23]++;   
 267break;   
 268case 24:   
 269rr[24]++;   
 270break;   
 271case 25:   
 272rr[25]++;   
 273break;   
 274case 26:   
 275rr[26]++;   
 276break;   
 277case 27:   
 278rr[27]++;   
 279break;   
 280case 28:   
 281rr[28]++;   
 282break;   
 283case 29:   
 284rr[29]++;   
 285break;   
 286case 30:   
 287rr[30]++;   
 288break;   
 289case 31:   
 290rr[31]++;   
 291break;   
 292case 32:   
 293rr[32]++;   
 294break;   
 295case 33:   
 296rr[33]++;   
 297break;   
 298case 34:   
 299rr[34]++;   
 300break;   
 301case 35:   
 302rr[35]++;   
 303break;   
 304case 36:   
 305rr[36]++;   
 306break;   
 307case 37:   
 308rr[37]++;   
 309break;   
 310case 38:   
 311rr[38]++;   
 312break;   
 313case 39:   
 314rr[39]++;   
 315break;   
 316case 40:   
 317rr[40]++;   
 318break;   
 319case 41:   
 320rr[41]++;   
 321break;   
 322case 42:   
 323rr[42]++;   
 324break;   
 325case 43:   
 326rr[43]++;   
 327break;   
 328case 44:   
 329rr[44]++;   
 330break;   
 331case 45:   
 332rr[45]++;   
 333break;   
 334case 46:   
 335rr[46]++;   
 336break;   
 337case 47:   
 338rr[47]++;   
 339break;   
 340case 48:   
 341rr[48]++;   
 342break;   
 343case 49:   
 344rr[49]++;   
 345break;   
 346case 50:   
 347rr[50]++;   
 348break;   
 349case 51:   
 350rr[51]++;   
 351break;   
 352case 52:   
 353rr[52]++;   
 354break;   
 355case 53:   
 356rr[53]++;   
 357break;   
 358case 54:   
 359rr[54]++;   
 360break;   
 361case 55:   
 362rr[55]++;   
 363break;   
 364case 56:   
 365rr[56]++;   
 366break;   
 367case 57:   
 368rr[57]++;   
 369break;   
 370case 58:   
 371rr[58]++;   
 372break;   
 373case 59:   
 374rr[59]++;   
 375break;   
 376case 60:   
 377rr[60]++;   
 378break;   
 379case 61:   
 380rr[61]++;   
 381break;   
 382case 62:   
 383rr[62]++;   
 384break;   
 385case 63:   
 386rr[63]++;   
 387break;   
 388case 64:   
 389rr[64]++;   
 390break;   
 391case 65:   
 392rr[65]++;   
 393break;   
 394case 66:   
 395rr[66]++;   
 396break;   
 397case 67:   
 398rr[67]++;   
 399break;   
 400case 68:   
 401rr[68]++;   
 402break;   
 403case 69:   
 404rr[69]++;   
 405break;   
 406case 70:   
 407rr[70]++;   
 408break;   
 409case 71:   
 410rr[71]++;   
 411break;   
 412case 72:   
 413rr[72]++;   
 414break;   
 415case 73:   
 416rr[73]++;   
 417break;   
 418case 74:   
 419rr[74]++;   
 420break;   
 421case 75:   
 422rr[75]++;   
 423break;   
 424case 76:   
 425rr[76]++;   
 426break;   
 427case 77:   
 428rr[77]++;   
 429break;   
 430case 78:   
 431rr[78]++;   
 432break;   
 433case 79:   
 434rr[79]++;   
 435break;   
 436case 80:   
 437rr[80]++;   
 438break;   
 439case 81:   
 440rr[81]++;   
 441break;   
 442case 82:   
 443rr[82]++;   
 444break;   
 445case 83:   
 446rr[83]++;   
 447break;   
 448case 84:   
 449rr[84]++;   
 450break;   
 451case 85:   
 452rr[85]++;   
 453break;   
 454case 86:   
 455rr[86]++;   
 456break;   
 457case 87:   
 458rr[87]++;   
 459break;   
 460case 88:   
 461rr[88]++;   
 462break;   
 463case 89:   
 464rr[89]++;   
 465break;   
 466case 90:   
 467rr[90]++;   
 468break;   
 469case 91:   
 470rr[91]++;   
 471break;   
 472case 92:   
 473rr[92]++;   
 474break;   
 475case 93:   
 476rr[93]++;   
 477break;   
 478case 94:   
 479rr[94]++;   
 480break;   
 481case 95:   
 482rr[95]++;   
 483break;   
 484case 96:   
 485rr[96]++;   
 486break;   
 487case 97:   
 488rr[97]++;   
 489break;   
 490case 98:   
 491rr[98]++;   
 492break;   
 493case 99:   
 494rr[99]++;   
 495break;   
 496case 100:   
 497rr[100]++;   
 498break; 
 499
 500//=-----------------------------------------------------------------------------   
 501case 101:   
 502rr[101]++;   
 503break;   
 504case 102:   
 505rr[102]++;   
 506break;   
 507case 103:   
 508rr[103]++;   
 509break;   
 510case 104:   
 511rr[104]++;   
 512break;   
 513case 105:   
 514rr[105]++;   
 515break;   
 516case 106:   
 517rr[106]++;   
 518break;   
 519case 107:   
 520rr[107]++;   
 521break;   
 522case 108:   
 523rr[108]++;   
 524break;   
 525case 109:   
 526rr[109]++;   
 527break;   
 528case 110:   
 529rr[110]++;   
 530break;   
 531case 111:   
 532rr[111]++;   
 533break;   
 534case 112:   
 535rr[112]++;   
 536break;   
 537case 113:   
 538rr[113]++;   
 539break;   
 540case 114:   
 541rr[114]++;   
 542break;   
 543case 115:   
 544rr[115]++;   
 545break;   
 546case 116:   
 547rr[116]++;   
 548break;   
 549case 117:   
 550rr[117]++;   
 551break;   
 552case 118:   
 553rr[118]++;   
 554break;   
 555case 119:   
 556rr[119]++;   
 557break;   
 558case 120:   
 559rr[120]++;   
 560break;   
 561case 121:   
 562rr[121]++;   
 563break;   
 564case 122:   
 565rr[122]++;   
 566break;   
 567case 123:   
 568rr[123]++;   
 569break;   
 570case 124:   
 571rr[124]++;   
 572break;   
 573case 125:   
 574rr[125]++;   
 575break;   
 576case 126:   
 577rr[126]++;   
 578break;   
 579case 127:   
 580rr[127]++;   
 581break;   
 582case 128:   
 583rr[128]++;   
 584break;   
 585case 129:   
 586rr[129]++;   
 587break;   
 588case 130:   
 589rr[130]++;   
 590break;   
 591case 131:   
 592rr[131]++;   
 593break;   
 594case 132:   
 595rr[132]++;   
 596break;   
 597case 133:   
 598rr[133]++;   
 599break;   
 600case 134:   
 601rr[134]++;   
 602break;   
 603case 135:   
 604rr[135]++;   
 605break;   
 606case 136:   
 607rr[136]++;   
 608break;   
 609case 137:   
 610rr[137]++;   
 611break;   
 612case 138:   
 613rr[138]++;   
 614break;   
 615case 139:   
 616rr[139]++;   
 617break;   
 618case 140:   
 619rr[140]++;   
 620break;   
 621case 141:   
 622rr[141]++;   
 623break;   
 624case 142:   
 625rr[142]++;   
 626break;   
 627case 143:   
 628rr[143]++;   
 629break;   
 630case 144:   
 631rr[144]++;   
 632break;   
 633case 145:   
 634rr[145]++;   
 635break;   
 636case 146:   
 637rr[146]++;   
 638break;   
 639case 147:   
 640rr[147]++;   
 641break;   
 642case 148:   
 643rr[148]++;   
 644break;   
 645case 149:   
 646rr[149]++;   
 647break;   
 648case 150:   
 649rr[150]++;   
 650break;   
 651case 151:   
 652rr[151]++;   
 653break;   
 654case 152:   
 655rr[152]++;   
 656break;   
 657case 153:   
 658rr[153]++;   
 659break;   
 660case 154:   
 661rr[154]++;   
 662break;   
 663case 155:   
 664rr[155]++;   
 665break;   
 666case 156:   
 667rr[156]++;   
 668break;   
 669case 157:   
 670rr[157]++;   
 671break;   
 672case 158:   
 673rr[158]++;   
 674break;   
 675case 159:   
 676rr[159]++;   
 677break;   
 678case 160:   
 679rr[160]++;   
 680break;   
 681case 161:   
 682rr[161]++;   
 683break;   
 684case 162:   
 685rr[162]++;   
 686break;   
 687case 163:   
 688rr[163]++;   
 689break;   
 690case 164:   
 691rr[164]++;   
 692break;   
 693case 165:   
 694rr[165]++;   
 695break;   
 696case 166:   
 697rr[166]++;   
 698break;   
 699case 167:   
 700rr[167]++;   
 701break;   
 702case 168:   
 703rr[168]++;   
 704break;   
 705case 169:   
 706rr[169]++;   
 707break;   
 708case 170:   
 709rr[170]++;   
 710break;   
 711case 171:   
 712rr[171]++;   
 713break;   
 714case 172:   
 715rr[172]++;   
 716break;   
 717case 173:   
 718rr[173]++;   
 719break;   
 720case 174:   
 721rr[174]++;   
 722break;   
 723case 175:   
 724rr[175]++;   
 725break;   
 726case 176:   
 727rr[176]++;   
 728break;   
 729case 177:   
 730rr[177]++;   
 731break;   
 732case 178:   
 733rr[178]++;   
 734break;   
 735case 179:   
 736rr[179]++;   
 737break;   
 738case 180:   
 739rr[180]++;   
 740break;   
 741case 181:   
 742rr[181]++;   
 743break;   
 744case 182:   
 745rr[182]++;   
 746break;   
 747case 183:   
 748rr[183]++;   
 749break;   
 750case 184:   
 751rr[184]++;   
 752break;   
 753case 185:   
 754rr[185]++;   
 755break;   
 756case 186:   
 757rr[186]++;   
 758break;   
 759case 187:   
 760rr[187]++;   
 761break;   
 762case 188:   
 763rr[188]++;   
 764break;   
 765case 189:   
 766rr[189]++;   
 767break;   
 768case 190:   
 769rr[190]++;   
 770break;   
 771case 191:   
 772rr[191]++;   
 773break;   
 774case 192:   
 775rr[192]++;   
 776break;   
 777case 193:   
 778rr[193]++;   
 779break;   
 780case 194:   
 781rr[194]++;   
 782break;   
 783case 195:   
 784rr[195]++;   
 785break;   
 786case 196:   
 787rr[196]++;   
 788break;   
 789case 197:   
 790rr[197]++;   
 791break;   
 792case 198:   
 793rr[198]++;   
 794break;   
 795case 199:   
 796rr[199]++;   
 797break;   
 798case 200:   
 799rr[200]++;   
 800break; 
 801
 802//----------------------------------------------------------------- 
 803
 804case 201:   
 805rr[201]++;   
 806break;   
 807case 202:   
 808rr[202]++;   
 809break;   
 810case 203:   
 811rr[203]++;   
 812break;   
 813case 204:   
 814rr[204]++;   
 815break;   
 816case 205:   
 817rr[205]++;   
 818break;   
 819case 206:   
 820rr[206]++;   
 821break;   
 822case 207:   
 823rr[207]++;   
 824break;   
 825case 208:   
 826rr[208]++;   
 827break;   
 828case 209:   
 829rr[209]++;   
 830break;   
 831case 210:   
 832rr[210]++;   
 833break;   
 834case 211:   
 835rr[211]++;   
 836break;   
 837case 212:   
 838rr[212]++;   
 839break;   
 840case 213:   
 841rr[213]++;   
 842break;   
 843case 214:   
 844rr[214]++;   
 845break;   
 846case 215:   
 847rr[215]++;   
 848break;   
 849case 216:   
 850rr[216]++;   
 851break;   
 852case 217:   
 853rr[217]++;   
 854break;   
 855case 218:   
 856rr[218]++;   
 857break;   
 858case 219:   
 859rr[219]++;   
 860break;   
 861case 220:   
 862rr[220]++;   
 863break;   
 864case 221:   
 865rr[221]++;   
 866break;   
 867case 222:   
 868rr[222]++;   
 869break;   
 870case 223:   
 871rr[223]++;   
 872break;   
 873case 224:   
 874rr[224]++;   
 875break;   
 876case 225:   
 877rr[225]++;   
 878break;   
 879case 226:   
 880rr[226]++;   
 881break;   
 882case 227:   
 883rr[227]++;   
 884break;   
 885case 228:   
 886rr[228]++;   
 887break;   
 888case 229:   
 889rr[229]++;   
 890break;   
 891case 230:   
 892rr[230]++;   
 893break;   
 894case 231:   
 895rr[231]++;   
 896break;   
 897case 232:   
 898rr[232]++;   
 899break;   
 900case 233:   
 901rr[233]++;   
 902break;   
 903case 234:   
 904rr[234]++;   
 905break;   
 906case 235:   
 907rr[235]++;   
 908break;   
 909case 236:   
 910rr[236]++;   
 911break;   
 912case 237:   
 913rr[237]++;   
 914break;   
 915case 238:   
 916rr[238]++;   
 917break;   
 918case 239:   
 919rr[239]++;   
 920break;   
 921case 240:   
 922rr[240]++;   
 923break;   
 924case 241:   
 925rr[241]++;   
 926break;   
 927case 242:   
 928rr[242]++;   
 929break;   
 930case 243:   
 931rr[243]++;   
 932break;   
 933case 244:   
 934rr[244]++;   
 935break;   
 936case 245:   
 937rr[245]++;   
 938break;   
 939case 246:   
 940rr[246]++;   
 941break;   
 942case 247:   
 943rr[247]++;   
 944break;   
 945case 248:   
 946rr[248]++;   
 947break;   
 948case 249:   
 949rr[249]++;   
 950break;   
 951case 250:   
 952rr[250]++;   
 953break;   
 954case 251:   
 955rr[251]++;   
 956break;   
 957case 252:   
 958rr[252]++;   
 959break;   
 960case 253:   
 961rr[253]++;   
 962break;   
 963case 254:   
 964rr[254]++;   
 965break;   
 966case 255:   
 967rr[255]++;   
 968break;   
 969  
 970}   
 971#endregion 
 972
 973#region gg   
 974switch(green)   
 975{   
 976case 0:   
 977gg[0]++;   
 978break;   
 979case 1:   
 980gg[1]++;   
 981break;   
 982case 2:   
 983gg[2]++;   
 984break;   
 985case 3:   
 986gg[3]++;   
 987break;   
 988case 4:   
 989gg[4]++;   
 990break;   
 991case 5:   
 992gg[5]++;   
 993break;   
 994case 6:   
 995gg[6]++;   
 996break;   
 997case 7:   
 998gg[7]++;   
 999break;   
1000case 8:   
1001gg[8]++;   
1002break;   
1003case 9:   
1004gg[9]++;   
1005break;   
1006case 10:   
1007gg[10]++;   
1008break;   
1009case 11:   
1010gg[11]++;   
1011break;   
1012case 12:   
1013gg[12]++;   
1014break;   
1015case 13:   
1016gg[13]++;   
1017break;   
1018case 14:   
1019gg[14]++;   
1020break;   
1021case 15:   
1022gg[15]++;   
1023break;   
1024case 16:   
1025gg[16]++;   
1026break;   
1027case 17:   
1028gg[17]++;   
1029break;   
1030case 18:   
1031gg[18]++;   
1032break;   
1033case 19:   
1034gg[19]++;   
1035break;   
1036case 20:   
1037gg[20]++;   
1038break;   
1039case 21:   
1040gg[21]++;   
1041break;   
1042case 22:   
1043gg[22]++;   
1044break;   
1045case 23:   
1046gg[23]++;   
1047break;   
1048case 24:   
1049gg[24]++;   
1050break;   
1051case 25:   
1052gg[25]++;   
1053break;   
1054case 26:   
1055gg[26]++;   
1056break;   
1057case 27:   
1058gg[27]++;   
1059break;   
1060case 28:   
1061gg[28]++;   
1062break;   
1063case 29:   
1064gg[29]++;   
1065break;   
1066case 30:   
1067gg[30]++;   
1068break;   
1069case 31:   
1070gg[31]++;   
1071break;   
1072case 32:   
1073gg[32]++;   
1074break;   
1075case 33:   
1076gg[33]++;   
1077break;   
1078case 34:   
1079n</h;++y)></nheight;++y)></nheight;++y)>
Published At
Categories with Web编程
Tagged with
comments powered by Disqus