我想调用摄像头拍照,该怎么做?
在网页中显示出视频的窗口,点击拍照即可生成图片。

解决方案 »

  1.   

    请到 web开发——javascript 版面求解
      

  2.   

    需要自己写ActiveX(DLL)让客户下载,功能:
    (1)判断客户端有没有任何摄像头之类的外设;
    (2)与客户端摄像头设备DLL进行通信;
    (3)打开客户端一个接口,接收服务器发出指令。
    以上是简单描述,看看C++或VC++通信部分编程吧。
      

  3.   

    LZ应该是想要flash,调用摄像头方式不过就这块,跟php关系几乎没有
      

  4.   

    flash 获取视频图片信息,php保存.
      

  5.   


    服务器用的是php,所以来这版求解。不知道javascrip能不能实现。
      

  6.   

    javascript无法实现
    也不需要使用 axtiveX就用 flash,现在很多网站的在线拍照功能都是用的 flashflash可以控制摄像头(网上代码比较多),生成图片数据(可以获取到每个像素的颜色值),在客户端根据这些数据生成图片上传到服务器,或者直接将这些数据在flash里面上传到服务器,或者交给javascript上传到服务器,然后服务器用 php 生成图片。
      

  7.   

    我有个文章你可以参考一下
    http://hi.baidu.com/jlzan1314/blog/item/f523ae2b1f85ca325243c13d.html不过讲的flex的flash里面,类应该是一样的,还有我记得ucenter取用户头像就是flash的,你也可以看看.
      

  8.   

    php可以做到,但默认环境不支持,实现起来成本也比较高,
    大众而快捷的做法是做flash,
    谷歌搜索关键词"flash摄像 php"文献一大堆。如果这样还不行再发帖问吧。that all, good luck to you.
      

  9.   

    PHP可能做不到这方面的吧,我也找资料看看,还没想到过用PHP调用摄像头的。
      

  10.   

    一般都是flash+php的。flash实现拍照的功能,并把得到的图象数据传给php,php再来做处理
      

  11.   

    php是脚本语言,不能对硬件进行操作吧?如果能操作,也是利用中间件来完成的。,如 C
      

  12.   

    可以php+flash來進行...你看看那個uchome....
    裏面的註冊有.
      

  13.   

    PHP用MING扩展可以生成SWF,通过actionscript,应该可以实现这个功能。
    不过,PHP的MING,生成的,是FLASH4/5。不一定支持最新版的AS.
      

  14.   

    看这个,php控制摄像头拍照源代码
      

  15.   

    你可以调用uchome的接口来实现这个功能
      

  16.   

    that all ......是什么语言?!...
      

  17.   

    通过flash+php可以实现。php是做不到调用摄像头信息的,它是服务器语言。flash是客户端语言
      

  18.   

    Discuz!/UCenter 里有一个 Flash 就能做到这个功能,如果想要摘出来用的话,可以参考我的一篇文章:
    UCenter中上传头像功能的剥离
    ————————————————————————————————
    基于CSDN论坛提供的插件扩展功能,自己做了个签名档工具,分享给大家,欢迎技术交流 :)
      

  19.   


    这个功能需要使用flash或者silverlight等插件来实现,PHP本身是无法完成,但是PHP可以和flash进行交互,参考:分享FLASH(AS2.0)+PHP摄像头抓图法式最近一个项目需要用摄像头来捕捉视频,并且保存图片,做了个case ,贴到这里,需要的可下载改进,
    功能描述:flash抓图,生成像素,然后传递给PHP,用GD渲染出来
    浏览:
    下载:<?php
    $w = (int)$_POST['width'];
    $h = (int)$_POST['height'];
    $img = imagecreatetruecolor($w, $h);
    imagefill($img, 0, 0, 0xFFFFFF);
    $c_row = explode(',',$_POST['rgb_array']);
    for($rows = 0; $rows < $h; $rows++){
        for($cols = 0; $cols < $w; $cols++){
            $value = $c_row[$cols];
            $value = $c_row[count($c_row)-($rows*$w+($w-$cols-1))];
            if($value != ''){
                $hex = $value;
                while(strlen($hex) < 6){
                    $hex = '0'.$hex;
                }
                $r = hexdec(substr($hex, 0, 2));
                $g = hexdec(substr($hex, 2, 2));
                $b = hexdec(substr($hex, 4, 2));
                $test = imagecolorallocate($img, $r, $g, $b);
                imagesetpixel($img, $cols, $rows, $test);
            }
        }
    }
    header("Content-type:image/jpeg");
    imagejpeg($img, '', 90);
    ?>
      

  20.   

    flash与PHP的交互技巧在场景中放置一个按钮,点击事件如下:on(release)
    {
     var c = new LoadVars();
     c.action="save";
     c.name="colin";
     c.phone="123456789";
     c.address="china";
     c.sendAndLoad("process.php",c,"POST");
    }process.php执行完毕后把结果变量放到c中供flash处理LoadVars.sendAndLoad()
    可用性
    Flash Player 6;行为在 Flash Player 7 中发生了变化。用法
    my_lv.sendAndLoad(url, targetObject[, method])参数
    url 要将变量上传到的 URL。如果发布此调用的 SWF 文件运行在 Web 浏览器上,则 url 必须与 SWF 文件位于同一个域中;有关详细信息,请参见下面的“说明”。targetObject 接收下载变量的 LoadVars 对象。method HTTP 协议的 GET 或 POST 方法。返回
    字符串。说明
    方法;将 my_lv 对象中的变量发布到指定的 URL。将下载服务器响应,并将其作为变量数据进行分析,然后将结果变量放在 targetObject 对象中。变量发布的方式与 LoadVars.send() 相同。变量下载到 targetObject 中的方式与 LoadVars.load() 相同。在运行于 Flash Player 7 以前版本的播放器的 SWF 文件中,url 必须与发布此调用的 SWF 文件位于同一个超级域中。例如,位于 www.someDomain.com 的 SWF 文件可以从位于 store.someDomain.com 的 SWF 文件加载变量,这是因为这两个文件都在同一个超级域 someDomain.com 中。如果任何版本的 SWF 文件运行在 Flash Player 7 或更高版本中,url 必须处于完全相同的域中(请参见Flash Player 安全功能)。例如,位于 www.someDomain.com 的 SWF 文件只能从同样位于 www.someDomain.com 的 SWF 文件加载变量。如果要从其它域中加载变量,则可以在承载被访问的 SWF 文件的服务器上放置一个跨域策略文件。有关更多信息,请参见关于允许跨域数据加载。此方法与 XML.sendAndLoad() 相似。LoadVars.send()
    可用性
    Flash Player 6。用法
    my_lv.send(url [,target, method])参数
    url 要将变量上传到的 URL。target 浏览器框架窗口,所有响应都将在其中显示。method HTTP 协议的 GET 或 POST 方法。返回
    字符串。说明
    方法;将 my_lv 对象中的变量发送到指定的 URL。默认情况下,my_lv 中的所有可枚举变量都将连接为一个 application/x-www-form-urlencoded 格式的字符串,该字符串将通过 HTTP POST 方法被发布到 URL。这与 loadVariables() 动作所用的格式相同。在 HTTP 请求标头中发送的 MIME 内容类型是 my_lv.contentType 的值或默认的 application/x-www-form-urlencoded。除非指定了 GET,否则将使用 POST 方法。如果指定了 target 参数,则服务器的响应将显示在指定的目标浏览器框架窗口中。如果省略 target 参数,则服务器响应将被丢弃。此方法与 XML.send() 相似。
      

  21.   

    discuz的uc里有现成的功能,你可以看下