Exemplo n.º 1
0
        // GET: ImageCropeds/Delete/5
        public async Task <ActionResult> Delete(long?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            ImageCroped image = await db.ImageCropeds.FindAsync(id);

            if (image == null)
            {
                return(HttpNotFound());
            }
            try
            {
                db.ImageCropeds.Remove(image);

                await db.SaveChangesAsync();

                // remove file sau

                //return RedirectToAction("Index");
                return(Json(new ExecuteResult()
                {
                    Isok = true, Data = image.Lable
                }));
            }
            catch (Exception ex)
            {
                return(Json(new ExecuteResult()
                {
                    Isok = true, Message = ex.Message, Data = null
                }));
            }
        }
Exemplo n.º 2
0
        public async Task <ActionResult> Edit(ImageCroped imageCroped)
        {
            if (ModelState.IsValid)
            {
                var editIteam = await db.ImageCropeds.FindAsync(imageCroped.Id);

                editIteam.code = imageCroped.code;
                if (imageCroped.IdDau != null)
                {
                    editIteam.IdDau = imageCroped.IdDau;
                }
                editIteam.ImageId = imageCroped.ImageId;
                editIteam.Index   = imageCroped.Index;
                editIteam.Line    = imageCroped.Line;
                editIteam.Lable   = imageCroped.Lable;
                editIteam.IsOK    = imageCroped.IsOK;

                db.Entry(editIteam).State = EntityState.Modified;
                await db.SaveChangesAsync();

                return(RedirectToAction("Index"));
            }
            ViewBag.ImageId = new SelectList(db.Images, "Id", "code", imageCroped.ImageId);
            return(View(imageCroped));
        }
Exemplo n.º 3
0
        public async Task <ActionResult> CropCau(ImageCroped model, long idImage)
        {
            if (ModelState.IsValid)
            {
                try
                {
                    if (model.X == model.Y && model.Width == model.Height && model.Height == 0 && model.Y == 0)
                    {
                        Json(new ExecuteResult()
                        {
                            Isok = false, Data = null, Message = "Crop k hợp lệ"
                        });
                    }
                    var croped = new ImageCroped();
                    croped         = model;
                    croped.ImageId = idImage;
                    db.ImageCropeds.Add(croped);
                    await db.SaveChangesAsync();

                    // cắt hình && show
                    var img = db.Images.Find(idImage);
                    if (img != null)
                    {
                        string pat       = FileHelper.GetRunningPath();
                        string ax        = Server.MapPath("~/" + img.Uri);
                        var    rootImage = new Image <Bgr, byte>(ax);
                        // get Id insered
                        db.Entry(croped).GetDatabaseValues();
                        long i = croped.Id;
                        PreViewImage = PreViewImage + idImage + "_" + i + "_" + DateTime.Now.ToString("yyyy_MM_dd_HH_mm_ss_fff") + ".jpg";
                        var ok = CropHelper.Save(CropHelper.Crop(rootImage, model.X, model.Y, model.Width, model.Height), Server.MapPath(PreViewImage));
                        if (!ok)
                        {
                            return(Json(new ExecuteResult()
                            {
                                Isok = false, Data = PreViewImage.Replace("~", ""), Message = "Lưu đươc vào db nhưng lỗi trong quá trình xử lý ảnh", PreVeiwImage = PreViewImage.Replace("~", "")
                            }));
                        }
                    }

                    return(Json(new ExecuteResult()
                    {
                        Isok = true, Data = PreViewImage.Replace("~", ""), Message = "Saved", PreVeiwImage = PreViewImage.Replace("~", "")
                    }));
                }
                catch (Exception ex)
                {
                    return(Json(new ExecuteResult()
                    {
                        Isok = false, Data = null, Message = ex.Message
                    }));
                }
            }
            return(Json(new ExecuteResult()
            {
                Isok = false, Data = null, Message = "Hãy nhập đủ thông tin"
            }));
        }
Exemplo n.º 4
0
        // GET: ImageCropeds/Details/5
        public async Task <ActionResult> Details(long?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            ImageCroped imageCroped = await db.ImageCropeds.FindAsync(id);

            if (imageCroped == null)
            {
                return(HttpNotFound());
            }
            return(View(imageCroped));
        }
Exemplo n.º 5
0
        public async Task <ActionResult> CropChuOrDau(ImageCroped model, long idImage)
        {
            try
            {
                if (model.IdDau != null)
                {
                    model.Description = model.Lable;
                    var l = await db.Daus.FindAsync(model.IdDau);

                    model.Lable = l.Name;
                }
                if (model.Lable.Split(' ').Count() > 1)
                {
                    // goto Tu??0
                    return(Json(new ExecuteResult()
                    {
                        Isok = false, Data = null, Message = "Nhầm mức "
                    }));
                }
                try
                {
                    var croped = new ImageCroped();
                    croped = model;

                    croped.ImageId = idImage;
                    db.ImageCropeds.Add(croped);
                    await db.SaveChangesAsync();

                    return(Json(new ExecuteResult()
                    {
                        Isok = true, Data = 1, Message = "Saved"
                    }));
                }
                catch (Exception ex)
                {
                    return(Json(new ExecuteResult()
                    {
                        Isok = false, Data = null, Message = ex.Message
                    }));
                }
            }
            catch (Exception ex)
            {
                return(Json(new ExecuteResult()
                {
                    Isok = false, Data = null, Message = ex.Message
                }));
            }
        }
Exemplo n.º 6
0
        // GET: ImageCropeds/Edit/5
        public async Task <ActionResult> Edit(long?id)
        {
            string er = "";

            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            ImageCroped imageCroped = await db.ImageCropeds.FindAsync(id);

            if (imageCroped == null)
            {
                return(HttpNotFound());
            }
            //nếu chưa có link ảnh thì cắt hình
            if (imageCroped.Uri == null)
            {
                try
                {
                    // quay về ảnh gốc lấy hình và tên
                    var    rootImage = new Image <Bgr, byte>(Server.MapPath("~" + imageCroped.Image.Uri));
                    string path      = Server.MapPath("~/Traning/data/" + imageCroped.Image.Name);
                    FileHelper.CreateFolderIfNotExist(path);
                    if (1 == 1)
                    {
                        // ghi file mô tả
                        string data = "được cắt từ hình: id: " + imageCroped.Image.Id + "; tên" + Path.GetFileNameWithoutExtension(imageCroped.Image.Uri) + "ở : " + Path.GetFullPath(imageCroped.Image.Uri);
                        await FileHelper.CreateFileAsync(path, "MoTa.txt", data);
                    }

                    // hình mới tạo ra ghi đè luôn file đã có nếu thao tác là training lại với mỗi phần tử
                    string nameFile = imageCroped.Image.Name + "-" + imageCroped.Line.ToString("D2") + "-" + imageCroped.Index.ToString("D2") + ".png";
                    var    ok       = CropHelper.Save(CropHelper.Crop(rootImage, imageCroped.X, imageCroped.Y, imageCroped.Width, imageCroped.Height), path + "\\" + nameFile);
                    if (ok)
                    {
                        imageCroped.Uri             = "/Traning/data/" + imageCroped.Image.Name + "/" + nameFile;
                        db.Entry(imageCroped).State = EntityState.Modified;
                        await db.SaveChangesAsync();
                    }
                }
                catch (Exception ex)
                {
                    er = ex.Message;
                }
            }
            ViewBag.Error   = er;
            ViewBag.ImageId = new SelectList(db.Images, "Id", "Name", imageCroped.ImageId);
            return(View(imageCroped));
        }
Exemplo n.º 7
0
        public async Task <ActionResult> CropAmTiet(ImageCroped model, long idImage)
        {
            if (ModelState.IsValid)
            {
                // nhầm mức tự động chuyển hay báo ra
                if (model.Lable.Split(' ').Count() > 1)
                {
                    // goto Tu??0
                    return(Json(new ExecuteResult()
                    {
                        Isok = false, Data = null, Message = "Nhầm mức "
                    }));
                }
                try
                {
                    var croped = new ImageCroped();
                    croped         = model;
                    croped.ImageId = idImage;
                    db.ImageCropeds.Add(croped);
                    await db.SaveChangesAsync();

                    return(Json(new ExecuteResult()
                    {
                        Isok = true, Data = 1, Message = "Saved"
                    }));
                }
                catch (Exception ex)
                {
                    return(Json(new ExecuteResult()
                    {
                        Isok = false, Data = null, Message = ex.Message
                    }));
                }
            }
            return(Json(new ExecuteResult()
            {
                Isok = false, Data = null, Message = "Hãy nhập đủ thông tin"
            }));
        }