您好,今天是: ·加入收藏·设为首页·联系站长
| 首页 | 网络安全 | 软件工程 | 网站开发 | NET学院 | JAVA专栏 | C&C++ | 综合资讯 | 程序人生 | 业界动态 | 搜天社区 | 软件下载
站内搜索:
当前位置:搜天网 >> 网站开发 >> 浏览文章 立即入驻本站 | 免费发布供应信息
FLASH拍照
作者:未知 来源:不详 文章点击数:

  1. //camera是在场景中一个Video实例   
  2. //注意如果要想获取自己想要拍照大小,先做一个你想要大小的FLV文件,然后video选Embedded   
  3. camera.clear();                   
  4.   
  5. //摄像头控制对象   
  6. var cam:Camera = Camera.get();   
  7. if ( cam  == null){   
  8.    //code here if client no camera installed   
  9. }   
  10. //init variable   
  11. photow = new Number(240);   
  12. photoh = new Number(180);   
  13.   
  14. cam.setMode(photow, photoh, 10, true);   
  15. camera.attachVideo(cam); //绑定摄像头视频流到video   
  16.   
  17. //该对象用于实现发送数据到网页可get或post   
  18. var lv:LoadVars;   
  19. lv = new LoadVars();   
  20.   
  21. //toolbar是在场景中的一个自定义的Movie clip实例,上面放置功能按纽   
  22. toolbar.btnPhotoBorder1._visible = false;   
  23.   
  24.   
  25. //当按下拍照按纽   
  26. toolbar.btnCamera.onRelease = function ()   
  27. {   
  28.     //获取当前视频画片   
  29.     saveCamera();   
  30.     ...   
  31. };   
  32. toolbar.btnCameraRe.onRelease = function(){     
  33.     ...   
  34.     saveCamera();   
  35. }   
  36. function saveCamera(){    
  37.     //新建一个bitmapdate对象并获取video上的图像信息   
  38.     lv.bm = new flash.display.BitmapData(photow, photoh,true, 0);      
  39.     lv.bm.draw(camera);    
  40.     //photoPreview是在场景中的一个Movie clip实例,用于输出bitmapdate实现照片预缆   
  41.     photoPreview.attachBitmap(lv.bm, 1);       
  42. }   
  43.   
  44. //上传照片到服务器   
  45. toolbar.btnUpload.onRelease = function(){   
  46.     loading._visible =true;   
  47.       
  48.     //读取图片矩形范围的像素信息,并以字符串的形式连接起来 begin   
  49.     i = lv.bm.height;   
  50.     j = lv.bm.width;   
  51.     rgb_array = "";   
  52.     for (y = i - 1; y >= 0; y--)   
  53.     {   
  54.         for (x = 0; x < j; x++)   
  55.         {   
  56.             color = lv.bm.getPixel(x, y).toString(16);   
  57.             rgb_array = rgb_array + (color + ",");   
  58.         } // end of for   
  59.     } // end of for   
  60.     lv.height = i;   
  61.     lv.width = j;   
  62.     lv.rgb_array = rgb_array;   
  63.     //读取图片矩形范围的像素信息,并以字符串的形式连接起来 end   
  64.      
  65.     //发送到要处理的页面URL,可以在页面通过Request.Form["名称"]获取值,如:Request.Form["rgb_array"]   
  66.     lv.sendAndLoad("pagea.aspx", lv, "POST");   
  67.   
  68.     //当页面返回信息即页面处理完成后,触发的行为    
  69.     lv.onLoad = function (success)   
  70.     {   
  71.         if (success)   
  72.         {   
  73.             //跳转到其他页面   
  74.             getURL("pageb.aspx""_self");   
  75.         }   
  76.     };   
  77. }   

 

应"小古"要求,贴出C#处理函数:

 

C#代码
  1. System.Drawing.Bitmap DrawImageFromFlashUploader(int width, int height, string[] rgbArray)   
  2.     {   
  3.         System.Drawing.Bitmap bm = new System.Drawing.Bitmap(width, height, System.Drawing.Imaging.PixelFormat.Format32bppRgb);   
  4.         int pos = 0;   
  5.         for (int i = bm.Height - 1; i >= 0; i--)   
  6.             for (int j = 0; j < bm.Width; j++)   
  7.             {   
  8.                 bm.SetPixel(j, i, System.Drawing.Color.FromArgb(int.Parse(rgbArray[pos], System.Globalization.NumberStyles.HexNumber)));   
  9.                 pos++;   
  10.             }   
  11.         return bm;   
  12.     }  


人支持

Tags:FLASH
发表评论】【告诉好友】【打印此文】【收藏此文】【关闭窗口
下一篇:没有了
  最新文章
  热门文章
  推荐文章

| 设为首页 | 加入收藏 | 关于本站 | 联系站长 | 友情链接 | 版权申明 | 雁过留声 |

Copyright 2006-2008 Powered by soutian.NET,搜天网 All Rights Reserved.
咨询服务QQ:在线QQ
蜀ICP备08001814