public override byte[] CreateImage(out string validataCode) { Bitmap bitmap; string formatString = "a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z"; GetRandom(formatString, this.ValidataCodeLength, out validataCode); MemoryStream stream = new MemoryStream(); AnimatedGifEncoder encoder = new AnimatedGifEncoder(); encoder.Start(); encoder.SetDelay(1); encoder.SetRepeat(0); Random random = new Random(); for (int i = 0; i < validataCode.Length; i++) { this.colors.Add(this.DrawColors[random.Next(this.DrawColors.Length)]); } for (int j = 0; j < 3; j++) { string[] strArray = this.SplitCode(validataCode); for (int k = 0; k < 2; k++) { if (k == 0) { this.ImageBmp(out bitmap, strArray[0]); } else { this.ImageBmp(out bitmap, strArray[1]); } bitmap.Save(stream, ImageFormat.Png); encoder.AddFrame(Image.FromStream(stream)); stream = new MemoryStream(); bitmap.Dispose(); } } encoder.OutPut(ref stream); bitmap = null; stream.Close(); stream.Dispose(); return stream.GetBuffer(); }
public override byte[] CreateImage(out string validataCode) { Bitmap bitmap; string formatString = "a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z"; GetRandom(formatString, this.ValidataCodeLength, out validataCode); MemoryStream stream = new MemoryStream(); AnimatedGifEncoder encoder = new AnimatedGifEncoder(); encoder.Start(); encoder.SetDelay(1); encoder.SetRepeat(0); for (int i = 0; i < 3; i++) { this.SplitCode(validataCode); this.ImageBmp(out bitmap, validataCode); bitmap.Save(stream, ImageFormat.Png); encoder.AddFrame(Image.FromStream(stream)); stream = new MemoryStream(); bitmap.Dispose(); } encoder.OutPut(ref stream); bitmap = null; stream.Close(); stream.Dispose(); return stream.GetBuffer(); }