视频拍照的flash文件import it.sephiroth.mloaderWindowimport it.sephiroth.PrintScreenmyCam = Camera.get();myCam.setMode(390, 290, 10);my_video.attachVideo(myCam);var loader:mloaderWindow = this.createClassObject(mloaderWindow, "loader", 10, ...{_x:-1000, _y:-1000})//loader.setStyle("borderColor", 0x006699)var listener:Object = new Object();listener.onProgress = function(target:MovieClip, loaded:Number, total:Number)...{ var perc = Math.round((loaded/total)*100) loader.label = "Sending... " + perc + "%" loader.value = perc}listener.onComplete = function(target:MovieClip, load_var:LoadVars)...{ loader.label = "Sending..." load_var.send("makepic.aspx", "_self", "POST") loader.close()}function print_me()...{ var mc_x = 15; var mc_y = 15; my_video.attachVideo(null); pn = new PrintScreen(); pn.addListener( listener ); pn.print(_root, 0, 0, 390, 290, mc_x, mc_y) loader.label = "输出中... 0%" loader.open(true, true, true); } asp.net 获取flash拍照程序的数据: private bool CreateImage(string Path) ...{ int w = 0; int h = 0; try ...{ w = int.Parse(Request.Form["width"]); h = int.Parse(Request.Form["height"]); } catch (Exception ee) ...{ Response.Write(ee.Message); return false; } Bitmap newmap = new Bitmap(w, h); int rows = 0; int cols = 0; Graphics gp = Graphics.FromImage(newmap); gp.Clear(Color.White); ImageCodecInfo myImageCodecInfo; System.Drawing.Imaging.Encoder myEncoder; EncoderParameter myEncoderParameter; EncoderParameters myEncoderParameters; myImageCodecInfo = ImageCodecInfo.GetImageEncoders()[1]; myEncoder = System.Drawing.Imaging.Encoder.Quality; myEncoderParameters = new EncoderParameters(1); myEncoderParameter = new EncoderParameter(myEncoder, 95L); myEncoderParameters.Param[0] = myEncoderParameter; gp.CompositingQuality = CompositingQuality.HighQuality; gp.SmoothingMode = SmoothingMode.HighQuality; gp.InterpolationMode = InterpolationMode.HighQualityBicubic; gp.TextRenderingHint = TextRenderingHint.ClearTypeGridFit; for (rows = 0; rows < newmap.Height; rows++) //循环图片高度 ...{ string px = Request["PX" + rows]; string[] c_row = px.Split(','); for (cols = 0; cols < newmap.Width; cols++) //循环图片宽度 ...{ string values = c_row[cols]; if (values != "" && values != null) ...{ string hex = values; while (hex.Length < 6) ...{//防止颜色丢失 hex = "0" + hex; } int r = int.Parse(hex.Substring(0, 2), System.Globalization.NumberStyles.HexNumber); int g = int.Parse(hex.Substring(2, 2), System.Globalization.NumberStyles.HexNumber); int b = int.Parse(hex.Substring(4, 2), System.Globalization.NumberStyles.HexNumber); newmap.SetPixel(cols, rows, Color.FromArgb(r, g, b)); } } } gp.DrawImage(newmap, 0, 0, w, h); Path = Server.MapPath("makepic.aspx")+"123.jpg"; //保存路径,修改这里 newmap.Save(Path, myImageCodecInfo, myEncoderParameters); myEncoderParameters.Dispose(); gp.Dispose(); newmap.Dispose(); Response.Redirect(Path); return true; }