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(); }
public ModItem(ModItem mi)//拷贝一个一摸一样的ITEM { Name = mi.Name; Data = mi.Data.ToList(); Info = mi.Info; ItemID = mi.ItemID; UseTemp = mi.UseTemp; ItemImage = mi.ItemImage; }
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()}"; }
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); }
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(); }
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)) } }; }
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); }