jQuery webcam plugin / ASP.NET, ASP.MVC


Pre náš webový projekt som použil jQuery webcam plugin, ktorý spustí Flash animáciu a odfotí užívateľa. Následne spracovaný obrázok odošle na server. Problém je, že odosiela data po pixeli.

 


jQuery webcam plugin:

ASP.MVC

[HttpPost]
public ActionResult CameraPicture(string data)
{
    if (string.IsNullOrEmpty(data))
        return new HttpNotFoundResult();

    var width = 320;
    var height = 240;

    using (var image = new System.Drawing.Bitmap(width, height))
    {
        var posY = 0;
        var posX = 0;
        image.SetResolution(80, 60);
        foreach (var y in data.Split('|'))
        {
            posX = 0;
            foreach (var x in y.Split(';'))
            {
                var color = System.Drawing.Color.FromArgb(Convert.ToInt32(x));
                image.SetPixel(posX, posY, color);
                posX++;
                if (posX == width)
                    break;
            }
            posY++;
            if (posY == height)
                break;
        }
        using (var ms = new System.IO.MemoryStream())
        {
            image.Save(ms, System.Drawing.Imaging.ImageFormat.Jpeg);
            return new FileContentResult(ms.ToArray(), "image/jpeg");
        }
    }
}
    
Ak nerobíš ASP.MVC a pracuješ len s ASP.NET, hodnotu data získaš nasledovne:
var data = Request["data"];
    

JavaScript ako perlička na záver

var pos = 0;
var picture = [];

$("#camera").webcam({
    width: 320,
    height: 240,
    mode: "callback",
    onTick: function () { },

    onSave: function (data) {
        picture.push(data);
        pos += 4 * 320;
        if (pos >= 4 * 320 * 240) {
            $.post("/url/save/image/", { data: picture.join('|') }, function (d) {

            });
        }
    },

    onCapture: function () {
        pos = 0;
        picture = [];
        webcam.save();
    },

    debug: function () {},
    onLoad: function () {}
});

// funkcia na urobenie snímku (v zátvorke je počet sekund, koľko má čakať na urobenie obrázka, akože delay)
webcam.capture(0);
    

 
Peter Širka
pred 4 mesiacmi, 19.01.2012

Diskusia (0)


Nevyplnil si všetky povinné políčka alebo si ich vyplnil chybne. Neojebávaj môj systém.
Skontroluj či si zadal meno a komentár.
Tvoj komentár bol úspešne odoslaný.
Ďakujem.

Meno:

Komentár:

Ďalšie blogy
Dynamické vytvorenie subdomény v ASP.NET / MVC
Dynamické vytvorenie subdomény v ASP.NET / MVC
Bolo to už dávno, čo nás na firme žralo, že naša konkurencia vedela riešiť dynamicky vytvárenie subdomén alebo domén 3 úrovne. Google ich lepšie indexoval (tak sa nám to zdalo) a riešenie prišlo až v IIS 7.
Prečítať 9
ASP.MVC - Session troška inak a prihlásený užívateľ
ASP.MVC - Session troška inak a prihlásený užívateľ
V dávnej minulosti som používal vstavaného Session providera. Raz mi praskli nervy a rozhodol som sa experimentovať. Stálo to za to. Ten kto neexperimentuje ten nemá a ja experimentujem len pre moje potreby.
Prečítať 21
C# (2) funkcie na ktoré som skutočne pyšný
C# (2) funkcie na ktoré som skutočne pyšný
Každý kóder určite vymyslel nejaký kód, na ktorý je pyšný. Ja som pyšný na 2 funkcie, ktoré používam v našich projektoch denno-denne. Niekomu sa budú zdať smiešne, no pre mňa sú jedinečné.
Prečítať 14
ASP.MVC, ASP.NET Facebook like count
ASP.MVC, ASP.NET Facebook like count
Jednoduchý kód na zistenie počtu like-kov z Facebooku na zadanú URL adresu. Je možné získať ešte ďalšie zaujímavé počty, napríklad počet zdielaní, počet komentárov, atď..
Prečítať
UPDATE: Facebook login button ASP.NET a ASP.MVC
UPDATE: Facebook login button ASP.NET a ASP.MVC
Musel som napísať novú autentifikáciu, pretože vo Facebooku to zmenili zo dňa na deň. Takže teraz prinášam UPDATE, v ktorom vieme získať už aj e-mailovú adresu alebo lokalitu užívateľa.
Prečítať 3