private void buttonImport_Click(object sender, EventArgs e)
        {
            if (openFileDialog1.ShowDialog() != DialogResult.OK)
            {
                return;
            }
            TempImage Ti = new TempImage(openFileDialog1.FileName);

            if (Ti.Path == "ERROR")
            {
                MessageBox.Show("Image Demand:Length / Height pixel is Multiple of 16\n(16 pixel=1 Module length)", "Import Fail");
                return;
            }
            FileInfo fi = new FileInfo(openFileDialog1.FileName);

            try
            {
                fi.CopyTo(Program.PathImage + '\\' + fi.Name, false);
            }
            catch
            {
                MessageBox.Show("There Have SameName Image, Please ReName and try again", "Import Fail");
            }
            MessageBox.Show("Import Success");
            TempImages.Add(new TempImage(Program.PathImage + '\\' + fi.Name));
            Display();
        }
Exemple #2
0
 public ModItem(ModItem mi)//拷贝一个一摸一样的ITEM
 {
     Name      = mi.Name;
     Data      = mi.Data.ToList();
     Info      = mi.Info;
     ItemID    = mi.ItemID;
     UseTemp   = mi.UseTemp;
     ItemImage = mi.ItemImage;
 }
Exemple #3
0
        public ModItem(int id, Line line, Template[] templates, MSetin[] mSetins)//加载
        {
            ItemID  = id;
            UseTemp = templates.FirstOrDefault(x => x.Name == line.Find("temp").Info);
            Name    = line.Find("name").Info;
            Info    = line.Find("info").Info;

            //定义从哪里开始读起
            int i = 2;

            //如果找到图片就从3开始读
            if (line.Find("image") != null)
            {
                i = 3;
                TempImage ti = new TempImage(line.Find("image").Info);
                if (ti.Path != "ERROR")
                {
                    ItemImage = ti;
                }
            }
            Line   tmp;
            MSetin mstmp;

            for (; i < line.Subs.Count; i++)
            {
                tmp = UseTemp.Data.FindLine(line.Subs[i].Name);
                if (tmp == null)
                {
                    mstmp = mSetins.FirstOrDefault(x => x.Name == line.Subs[i].Name);
                    if (mstmp == null)
                    {
                        mstmp = mSetins.FirstOrDefault(x => x.Name == line.Subs[i].Name);
                    }

                    Data.Add(new ModSet()
                    {
                        Setin      = mSetins.First(x => x.Name == line.Subs[i].Name),
                        Value      = line.Subs[i].Info,
                        valuenomal = mstmp.valuenomal
                    });
                }
                else
                {
                    Data.Add(new ModSet()
                    {
                        Setin      = mSetins.First(x => x.Name == line.Subs[i].Name),
                        Value      = line.Subs[i].Info,
                        valuenomal = tmp.Find("nomal").Info
                    });
                }
            }
        }
 private void listBoxSelect_SelectedIndexChanged(object sender, EventArgs e)
 {
     if (listBoxSelect.SelectedIndex == -1)
     {
         return;
     }
     else
     {
         NowSelect = NowShowTI[listBoxSelect.SelectedIndex];
     }
     pictureBoxDisplay.Image = NowSelect.DemoImage;
     labelName.Text          = NowSelect.Name;
     labelSize.Text          = $"Size: { NowSelect.VirtualSize.Width.ToString()}x{NowSelect.VirtualSize.Height.ToString()}\nReal:{ NowSelect.RealSize.Width.ToString()}x{NowSelect.RealSize.Height.ToString()}";
 }
Exemple #5
0
        public static TempImage CropImage(DiaryImage image, byte[] fullImage, int left, int top, int width, int height, int imageQuality)
        {
            if (image == null)
            {
                throw new ArgumentNullException(nameof(image));
            }

            var result = CropImage(fullImage, left, top, width, height, imageQuality);
            var temp   = new TempImage
            {
                SourceImageId = image.Id,
                Modification  = "Обрезка изображения",
                Data          = result,
                SizeByte      = result.Length
            };

            (temp.Width, temp.Height) = GetImageSize(result);
            return(temp);
        }
Exemple #6
0
        public static TempImage ScaleImage(DiaryImage image, byte[] fullImage, int maxSizePx, int imageQuality)
        {
            if (image == null)
            {
                throw new ArgumentNullException(nameof(image));
            }

            var result = ScaleImage(fullImage, imageQuality, maxSizePx);
            var temp   = new TempImage
            {
                SourceImageId = image.Id,
                Modification  = "Сжатие изображения",
                Data          = result,
                SizeByte      = result.Length
            };

            (temp.Width, temp.Height) = GetImageSize(result);
            return(temp);
        }
 private void buttonDelete_Click(object sender, EventArgs e)
 {
     if (NowSelect == null)
     {
         return;
     }
     TempImages.Remove(NowSelect);
     pictureBoxDisplay.Image = null;
     NowSelect.DemoImage.Dispose();
     if (!NowSelect.Path.ToLower().EndsWith("logo.png"))
     {
         try
         {
             new FileInfo(NowSelect.Path).Delete();
         }
         catch { MessageBox.Show("Delete Fail!"); return; }
     }
     NowSelect = null;
     MessageBox.Show("Delete Success!");
     Display();
 }
Exemple #8
0
        public WrappedJsonResult UploadImage(HttpPostedFileWrapper imageFile, string imagefilename)
        {
            var model = new ImageModel { ImageUploaded = imageFile };
            if (imageFile == null || imageFile.ContentLength == 0)
            {
                return new WrappedJsonResult
                {
                    Data = new
                    {
                        IsValid = false,
                        Message = "No file was uploaded.",
                        ImagePath = string.Empty
                    }
                };
            }

            if (imagefilename != null)
            {
                if (imagefilename.Length > 0)
                {
                    string[] a = imagefilename.Split('/');
                    imagefilename = a[a.GetUpperBound(0)];
                    int pos = imagefilename.IndexOf('.');
                    imagefilename = imagefilename.Substring(0, pos);
                }
            }
            else
                imagefilename = "";

            string serverPath = Server.MapPath("~");
            string imagesPath = serverPath + "Content\\UserImages\\";
            string thumbPath = imagesPath + "Thumbnails\\";
            string fullPath = imagesPath + "Full\\";

            // find and delete any existing records and files
            DeleteTempRecords(fullPath, thumbPath);

            //string fileName = (imagefilename.Length > 0)?imagefilename:Guid.NewGuid().ToString();
            string fileName = Guid.NewGuid().ToString();
            ImageModel.ResizeAndSave(thumbPath, fileName, model.ImageUploaded.InputStream, 64, true);
            ImageModel.ResizeAndSave(fullPath, fileName, model.ImageUploaded.InputStream, 200, true);

            // save the old image if there is one.
            if (imagefilename != "")
            {
                TempImage image = new TempImage();
                image.personid = 1;
                image.createdAt = DateTime.Now;
                image.updatedAt = DateTime.Now;
                image.imagepath = Url.Content(String.Format("{0}.jpg", imagefilename));
                _temp_imageRepository.SaveOrUpdate(image);
            }

            // return the new image
            return new WrappedJsonResult
            {
                Data = new
                {
                    IsValid = true,
                    Message = string.Empty,
                    ImagePath = Url.Content(String.Format("{0}.jpg", fileName))
                }
            };
        }
Exemple #9
0
        public async Task CropImage(Guid imageId, Rectangle selectedPreviewRect, double scaleCoefficient)
        {
            if (scaleCoefficient < 1.0)
            {
                throw new ArgumentException("Coefficient should be greater than 1");
            }
            if (selectedPreviewRect.Left < 0 || selectedPreviewRect.Top < 0 || selectedPreviewRect.Width <= 0 || selectedPreviewRect.Height <= 0)
            {
                throw new ArgumentException("Incorrect selection");
            }

            var image = await _context.Images
                        .AsNoTracking()
                        .Include(i => i.FullImage)
                        .Include(i => i.TempImage)
                        .SingleOrDefaultAsync(i => i.Id == imageId)
                        .ConfigureAwait(false);

            if (image is null)
            {
                throw new ArgumentException($"Image with id='{imageId}' was not found");
            }
            if (image.TempImage != null)
            {
                throw new ArgumentException($"Image with id='{imageId}' has unsaved changes");
            }

            int top    = Convert.ToInt32(selectedPreviewRect.Top * scaleCoefficient);
            int left   = Convert.ToInt32(selectedPreviewRect.Left * scaleCoefficient);
            int width  = Convert.ToInt32(selectedPreviewRect.Width * scaleCoefficient);
            int height = Convert.ToInt32(selectedPreviewRect.Height * scaleCoefficient);

            if (top + height > image.Height)
            {
                height = image.Height - top;
            }
            if (left + width > image.Width)
            {
                width = image.Width - left;
            }

            int imageQuality = await _appSettings.GetAppSettingInt(AppSettingsKey.ImageQuality) ?? throw new Exception("Setting Value ImageQuality not set");

            if (image.FullImage == null)
            {
                throw new Exception($"Full image for Id='{imageId}' is not found! Database is inconsist");
            }

            var result   = base.CropImage(image.FullImage.Data, left, top, width, height, imageQuality);
            var tmpImage = new TempImage
            {
                SourceImageId = image.Id,
                Modification  = "Обрезка изображения",
                Data          = result,
                SizeByte      = result.Length
            };

            (tmpImage.Width, tmpImage.Height) = GetImageSize(result);

            await SaveModifiedImage(tmpImage);
        }