Mahesh Pattnayak Ответов: 2

Как изменить высоту и ширину изображения по умолчанию при съемке через веб-камеру в ASP.NET


я работаю над проектом, где пользователь будет снимать свою фотографию через веб-камеру. а затем он сохранится в папке при нажатии на кнопку захвата.

для веб - камеры я использую плагин jquery- jquery.webcam.js

но когда вы нажимаете на кнопку захвата, она захватывает изображение в размерах 320 X 200.
я использую hd-камеру для захвата изображений.

как изменить этот образ в высоких измерениях.

пожалуйста помочь.

Что я уже пробовал:

<html xmlns="http://www.w3.org/1999/xhtml">
<head id="Head1" runat="server">
    <title></title>
    <style type="text/css">
        body
        {
            font-family: Arial;
            font-size: 10pt;
        }
    </style>
</head>
<body>


    <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js"></script>
    <script src='<%=ResolveUrl("~/Webcam_Plugin/jquery.webcam.js") %>' type="text/javascript"></script>
    <script type="text/javascript">
        var pageUrl = '<%=ResolveUrl("~/VB.aspx") %>';
        $(function () {
            jQuery("#webcam").webcam({
                width: 1024,
                height: 768,
                mode: "save",
                swffile: '<%=ResolveUrl("~/Webcam_Plugin/jscam.swf") %>',
                debug: function (type, status) {
                    $('#camStatus').append(type + ": " + status + '<br /><br />');
                },
                onSave: function (data) {
                    $.ajax({
                        type: "POST",
                        url: pageUrl + "/GetCapturedImage",
                        data: '',
                        contentType: "application/json; charset=utf-8",
                        dataType: "json",
                        success: function (r) {
                            $("[id*=imgCapture]").css("visibility", "visible");
                            $("[id*=imgCapture]").attr("src", r.d);
                        },
                        failure: function (response) {
                            alert(response.d);
                        }
                    });
                },
                onCapture: function () {
                    webcam.save(pageUrl);
                }
            });
        });
        function Capture() {
            webcam.capture();
            return false;
        }
    </script>
    <form id="form1" runat="server">
    <table border="0" cellpadding="0" cellspacing="0">
        <tr>
            <td align="center">
                Live Camera
            </td>
            <td>
            </td>
            <td align="center">
                Captured Picture
            </td>
        </tr>
        <tr>
            <td>
                <div id="webcam">
                </div>
            </td>
            <td>
                 
            </td>
            <td>
                <asp:Image ID="imgCapture" runat="server" Style="visibility: hidden; width: 320px;
                    height: 240px" />
            </td>
        </tr>
    </table>
    <br />
    <asp:Button ID="btnCapture" Text="Capture" runat="server" OnClientClick="return Capture();" />
    <br />
    <span id="camStatus"></span>
    </form>
</body>
</html>

Imports System.IO
Imports System.Web.Services

Partial Class VB
    Inherits System.Web.UI.Page

    Protected Sub Page_Load(sender As Object, e As EventArgs) Handles Me.Load
        If Not Me.IsPostBack Then

            If Request.InputStream.Length > 0 Then
                Using reader As New StreamReader(Request.InputStream)
                    Dim hexString As String = Server.UrlEncode(reader.ReadToEnd())
                    Dim imageName As String = DateTime.Now.ToString("dd-MM-yy hh-mm-ss")
                    Dim imagePath As String = String.Format("~/Captures/{0}.png", imageName)
                    File.WriteAllBytes(Server.MapPath(imagePath), ConvertHexToBytes(hexString))
                    Session("CapturedImage") = ResolveUrl(imagePath)
                End Using



            End If




        End If
    End Sub

    Private Shared Function ConvertHexToBytes(hex As String) As Byte()
        Dim bytes As Byte() = New Byte(hex.Length / 2 - 1) {}
        For i As Integer = 0 To hex.Length - 1 Step 2
            bytes(i / 2) = Convert.ToByte(hex.Substring(i, 2), 16)
        Next
        Return bytes
    End Function

    <WebMethod(EnableSession:=True)> _
    Public Shared Function GetCapturedImage() As String
        Dim url As String = HttpContext.Current.Session("CapturedImage").ToString()
        HttpContext.Current.Session("CapturedImage") = Nothing
        Return url
    End Function

End Class

2 Ответов

Рейтинг:
0

Richard Deeming

Предполагая, что вы используете данный плагин[^], вам нужно прочитать документацию:

Оба параметра также должны быть изменены во флэш-файле. Следуйте приведенным ниже инструкциям, чтобы перекомпилировать swf после изменения размера.

Утилиты, используемые для перекомпиляции Flash - файла, доступны в системах Unix. Для Windows нет никаких альтернатив.

То На GitHub странице[^] есть еще несколько человек, которые изо всех сил пытаются изменить размер, но автор не отвечает.

Если вы не можете перекомпилировать файл, вам, возможно, придется искать другой плагин.


Рейтинг:
0

Member 13846487

Эй братан просто измени размер в своем коде:

$(function () {
            jQuery("#webcam").webcam({
                width: 1024, <---- Here
                height: 768, <---- Here
                mode: "save",
                swffile: '<%=ResolveUrl("~/Webcam_Plugin/jscam.swf") %>',
                debug: function (type, status) {
                    $('#camStatus').append(type + ": " + status + '<br /><br />');
                },


а в досье:
jquery.webcam.js


var webcam = {

   "extern": null, // external select token to support jQuery dialogs
   "append": true, // append object instead of overwriting

   "width": 500, <----- Here
   "height": 840,<----- Here


И это все