private async Task ResizeOne(XElement element) { var size = element.Element(ns + "Size"); int viewWidth = (int)decimal.Parse(size.Attribute("width").Value, CultureInfo.InvariantCulture); int viewHeight = (int)decimal.Parse(size.Attribute("height").Value, CultureInfo.InvariantCulture); using (var image = ReadImage(element)) { using (var dialog = new ResizeImagesDialog(image, viewWidth, viewHeight)) { var result = dialog.ShowDialog(owner); if (result == DialogResult.OK) { if (!dialog.PreserveSize) { using (var data = dialog.GetImage()) { if (data != null) { WriteImage(element, data); } } } size.SetAttributeValue("width", dialog.WidthPixels.ToString(CultureInfo.InvariantCulture)); size.SetAttributeValue("height", dialog.HeightPixels.ToString(CultureInfo.InvariantCulture)); size.SetAttributeValue("isSetByUser", "true"); await one.Update(page); } } } }
private async Task ResizeOne(XElement element) { var size = element.Element(ns + "Size"); int viewWidth = (int)decimal.Parse(size.Attribute("width").Value, CultureInfo.InvariantCulture); int viewHeight = (int)decimal.Parse(size.Attribute("height").Value, CultureInfo.InvariantCulture); using (var image = ReadImage(element)) { // when pasting an image onto the page, width or height can be zero // OneNote ignores both if either is zero so we'll do the same... if (viewWidth == 0 || viewHeight == 0) { viewWidth = image.Width; viewHeight = image.Height; } using (var dialog = new ResizeImagesDialog(image, viewWidth, viewHeight)) { var result = dialog.ShowDialog(owner); if (result != DialogResult.OK) { return; } if (dialog.NeedsRewrite) { using (var data = dialog.GetImage()) { if (data != null) { WriteImage(element, data); } } } size.SetAttributeValue("width", dialog.ImageWidth.ToString(CultureInfo.InvariantCulture)); size.SetAttributeValue("height", dialog.ImageHeight.ToString(CultureInfo.InvariantCulture)); size.SetAttributeValue("isSetByUser", "true"); logger.WriteLine($"resized from {viewWidth} x {viewHeight} to {dialog.ImageWidth} x {dialog.ImageHeight}"); await one.Update(page); } } }