/// <summary> /// A RaisePostBackEvent. /// </summary> /// <param name="eventArgument">eventArgument</param> public new void RaisePostBackEvent(String eventArgument) { var args = eventArgument.Split(';'); // Create the new name var tempFileName = ParentImageEditor.GetTempFileName(); var job = new ImageJob(ParentImageEditor.WorkFile); try { int size; int.TryParse(args[3], out size); bool antialias; bool.TryParse(args[5], out antialias); var foreColor = Color.FromName(args[1]); var fontStyle = (FontStyle)Enum.Parse(typeof(FontStyle), args[2], true); var stringAlignment = (StringAlignment)Enum.Parse(typeof(StringAlignment), args[6], true); job.AddText(args[0], args[4], size, fontStyle, foreColor, antialias, ParentImageEditor.Selection.X1, ParentImageEditor.Selection.Y1, stringAlignment); } catch { Page.RegisterStartupScript(tempFileName, "<script language='javascript'>alert('Error while adding text.');</script>"); } PerformSave(job, tempFileName); OnClick(EventArgs.Empty); }
/// <summary> /// A RaisePostBackEvent. /// </summary> /// <param name="eventArgument">eventArgument</param> public new void RaisePostBackEvent(String eventArgument) { // Create the new name var tempFileName = ParentImageEditor.GetTempFileName(); var job = new ImageJob(ParentImageEditor.WorkFile); ParentImageEditor.ImageHeight = job.Image.Height; ParentImageEditor.ImageWidth = job.Image.Width; if ((ParentImageEditor.Selection.X1 > 0 && ParentImageEditor.Selection.Y1 > 0) || (ParentImageEditor.Selection.X2 > 0 && ParentImageEditor.Selection.Y2 > 0)) { float factor; float.TryParse(eventArgument, out factor); job.Zoom(ParentImageEditor.Selection.X1, ParentImageEditor.Selection.Y1, factor); PerformSave(job, tempFileName); } else { Page.RegisterStartupScript(tempFileName, "<script language='javascript'>alert('Please click on the image to set the center point.');</script>"); job.Dispose(); } OnClick(EventArgs.Empty); }
/// <summary> /// A RaisePostBackEvent. /// </summary> /// <param name="eventArgument">eventArgument</param> public new void RaisePostBackEvent(String eventArgument) { var args = eventArgument.Split(';'); // Create the new name var tempFileName = ParentImageEditor.GetTempFileName(); var job = new ImageJob(ParentImageEditor.WorkFile); try { int width, height; bool constrainProportions, resizeSmaller; int.TryParse(args[0], out width); int.TryParse(args[1], out height); bool.TryParse(args[2], out constrainProportions); bool.TryParse(args[3], out resizeSmaller); job.ResizeImage(width, height, constrainProportions, resizeSmaller); ParentImageEditor.ImageHeight = job.Image.Height; ParentImageEditor.ImageWidth = job.Image.Width; } catch { Page.RegisterStartupScript(tempFileName, "<script language='javascript'>alert('Error while resizing.');</script>"); } PerformSave(job, tempFileName); OnClick(EventArgs.Empty); }
/// <summary> /// A RaisePostBackEvent. /// </summary> /// <param name="eventArgument">eventArgument</param> public new void RaisePostBackEvent(String eventArgument) { var args = eventArgument.Split(';'); // Create the new name var tempFileName = ParentImageEditor.GetTempFileName(); var job = new ImageJob(ParentImageEditor.WorkFile); try { int width, height; int.TryParse(args[0], out width); int.TryParse(args[1], out height); var anchor = (AnchorType)Enum.Parse(typeof(AnchorType), args[2], true); job.ResizeCanvas(width, height, anchor, Color.Black); ParentImageEditor.ImageHeight = job.Image.Height; ParentImageEditor.ImageWidth = job.Image.Width; } catch { Page.RegisterStartupScript(tempFileName, "<script language='javascript'>alert('Error while resizing.');</script>"); } PerformSave(job, tempFileName); OnClick(EventArgs.Empty); }
private void MirrorClicked(object obj, EventArgs e) { // Create the new name var tempFileName = ParentImageEditor.GetTempFileName(); var job = new ImageJob(ParentImageEditor.WorkFile); job.Flip(FlipType.Horizontal); ParentImageEditor.ImageHeight = job.Image.Height; ParentImageEditor.ImageWidth = job.Image.Width; PerformSave(job, tempFileName); }
/// <summary> /// Saves image after edit works on image is done /// </summary> /// <param name="job"></param> protected virtual void PerformSave(ImageJob job, string tempFileName) { if (ParentImageEditor.DirectWrite) { job.Save(); } else { job.Save(Page.Server.MapPath(ParentImageEditor.TempDirectory) + tempFileName, FileCompression.CCITT4, 100, FileFormat.Jpeg); job.Dispose(); // Delete old temp file System.IO.File.Delete(Page.Server.MapPath(ParentImageEditor.TempURL)); ParentImageEditor.TempURL = ParentImageEditor.TempDirectory + tempFileName; } }
private void CropClicked(object obj, EventArgs e) { var selection = ParentImageEditor.Selection; // Create the new name var tempFileName = ParentImageEditor.GetTempFileName(); if ((selection.X1 > 0 && selection.Y1 > 0) || (selection.X2 > 0 && selection.Y2 > 0)) { var job = new ImageJob(ParentImageEditor.WorkFile); job.Crop(ParentImageEditor.Selection.Valid()); ParentImageEditor.ImageHeight = job.Image.Height; ParentImageEditor.ImageWidth = job.Image.Width; PerformSave(job, tempFileName); } else { Page.RegisterStartupScript(tempFileName, "<script language='javascript'>alert('Please make a selection.');</script>"); } }
/// <summary> /// A RaisePostBackEvent. /// </summary> /// <param name="eventArgument">eventArgument</param> public new void RaisePostBackEvent(String eventArgument) { var args = eventArgument.Split(';'); // Create the new name var tempFileName = ParentImageEditor.GetTempFileName(); var job = new ImageJob(ParentImageEditor.WorkFile); bool isLeft, isRight, isDegrees; bool.TryParse(args[0], out isLeft); bool.TryParse(args[1], out isRight); bool.TryParse(args[2], out isDegrees); if (isLeft) { job.RotateLeft(); } else if (isRight) { job.RotateRight(); } else if (isDegrees) { float degrees; float.TryParse(args[3], out degrees); job.Rotate(degrees); } ParentImageEditor.ImageHeight = job.Image.Height; ParentImageEditor.ImageWidth = job.Image.Width; PerformSave(job, tempFileName); OnClick(EventArgs.Empty); }
private void SaveClicked(object obj, EventArgs e) { // Get Parent Editor ImageEditor editor = (ImageEditor)this.Parent.Parent; string tempFile = editor.GetTempFileName(); /*string tempFile = string.Empty; * // Create the new name * if (editor.SaveURL != string.Empty) * { * tempFile = GetFileName(editor.SaveURL); * if (tempFile == string.Empty) * tempFile = editor.GetTempFileName(); * } * else * { * tempFile = editor.GetTempFileName(); * }*/ if (!editor.DirectWrite) { ActiveUp.WebControls.ImageJob job; job = new ActiveUp.WebControls.ImageJob(editor.WorkFile); //job.License = editor.License; ImageSettings blankSettings = new ImageSettings(); ImageSettings saveSettings = editor.SaveSettings; if (saveSettings != null && !blankSettings.Equals(saveSettings)) { if (saveSettings.MaxHeight != 0) { job.ResizeImage(saveSettings.MaxWidth, saveSettings.MaxWidth, saveSettings.ConstrainProportions, saveSettings.ResizeSmaller); } job.Save(Page.Server.MapPath(editor.TempDirectory) + tempFile, saveSettings.Compression, saveSettings.Quality, saveSettings.Format); } else { job.Save(Page.Server.MapPath(editor.TempDirectory) + tempFile, saveSettings.Compression, saveSettings.Quality, saveSettings.Format); } editor.OnPostProcessing(EventArgs.Empty); //job.Save(Page.Server.MapPath(editor.TempDirectory) + tempFile, editor.SaveSettings.Compression, editor.SaveSettings.Quality, editor.SaveSettings.Format); job.Dispose(); // Delete old temp file System.IO.File.Delete(Page.Server.MapPath(editor.TempURL)); editor.TempURL = editor.TempDirectory + tempFile; //editor.ImageURL = editor.TempURL; if (editor.SaveURL != string.Empty) { editor.ImageURL = editor.SaveURL; } System.IO.File.Copy(Page.Server.MapPath(editor.TempURL), Page.Server.MapPath(editor.ImageURL), true); } editor.EditorMode = ImageEditorMode.View; editor.OnSave(this, Page.Server.MapPath(editor.ImageURL)); }
private void Page_Load(object sender, System.EventArgs e) { //Set the content type Response.ContentType = "image/jpeg"; ImageJob job; try { string file = Request.QueryString["file"]; job = new ImageJob(Server.MapPath(file)); // Process the image foreach (string command in Request.QueryString.Keys) { // Tolerance is a vertue. string commandUC = command.ToUpper(); // Parameters container. string values = string.Empty; // Add text if (commandUC.StartsWith("TEXT")) { values = Request.QueryString[command]; string[] prms = values.Split(';'); // We need some explicit conversion here. FontStyle fontStyle = (FontStyle)Enum.Parse(typeof(FontStyle), prms[3], true); StringAlignment alignment = (StringAlignment)Enum.Parse(typeof(StringAlignment), prms[8], true);; job.AddText(prms[0], prms[1], Convert.ToInt32(prms[2]), fontStyle, Color.FromName(prms[4]), Convert.ToBoolean(prms[5]), Convert.ToInt32(prms[6]), Convert.ToInt32(prms[7]), alignment); } else if (commandUC.StartsWith("ROTATE")) { values = Request.QueryString[command]; if (values.ToUpper() == "LEFT") { job.RotateLeft(); } else if (values.ToUpper() == "RIGHT") { job.RotateRight(); } else { job.Rotate(float.Parse(values)); } } else if (commandUC.StartsWith("FLIP")) { values = Request.QueryString[command]; if (values.ToUpper().StartsWith("HORI")) { job.Flip(FlipType.Horizontal); } else if (values.ToUpper().StartsWith("VERT")) { job.Flip(FlipType.Vertical); } else if (values.ToUpper().StartsWith("BOTH")) { job.Flip(FlipType.Both); } } else if (commandUC.StartsWith("CROP")) { values = Request.QueryString[command]; Selection selection = new Selection(values.Replace(";", ",")); job.Crop(selection); } else if (commandUC.StartsWith("RESIZE")) { values = Request.QueryString[command]; string[] prms = values.Split(';'); job.ResizeImage(Convert.ToInt32(prms[0]), Convert.ToInt32(prms[1]), Convert.ToBoolean(prms[2]), Convert.ToBoolean(prms[3])); } else if (commandUC.StartsWith("CANVAS")) { values = HttpUtility.UrlDecode(Request.QueryString[command]); string[] prms = values.Split(';'); // We need some explicit conversion here. AnchorType anchor = (AnchorType)Enum.Parse(typeof(AnchorType), prms[2], true); job.ResizeCanvas(Convert.ToInt32(prms[0]), Convert.ToInt32(prms[1]), anchor, System.Drawing.Color.FromName(prms[3])); } else if (commandUC.StartsWith("ZOOM")) { values = Request.QueryString[command]; string[] prms = values.Split(';'); job.Zoom(Convert.ToInt32(prms[0]), Convert.ToInt32(prms[1]), float.Parse(prms[2])); } } // Send the data to the browser job.Save(Response.OutputStream, FileCompression.CCITT3, 70, FileFormat.Jpeg); } catch { Bitmap bitMapImage = new System.Drawing.Bitmap(300, 100, System.Drawing.Imaging.PixelFormat.Format24bppRgb); Graphics graphicImage = Graphics.FromImage(bitMapImage); graphicImage.SmoothingMode = System.Drawing.Drawing2D.SmoothingMode.AntiAlias; SolidBrush drawBrush = new SolidBrush(System.Drawing.Color.Red); StringFormat stringFormat = new StringFormat(); stringFormat.Alignment = StringAlignment.Center; graphicImage.DrawString("Invalid parameters!", new Font("Arial", 23, FontStyle.Bold), drawBrush, new Point(150, 30), stringFormat); bitMapImage.Save(Response.OutputStream, System.Drawing.Imaging.ImageFormat.Jpeg); graphicImage.Dispose(); bitMapImage.Dispose(); } }