public static bool ShowEdit(Form owner, IImageObject obj) { Debug.Assert(obj != null); using (PrintObjectForm form = new PrintObjectForm()) { Type type = typeof(VoucherAllocation); var properties = type.GetProperties(); var propertiesstrList = properties.Convert<PropertyInfo, string>((i) => i.Name).ToArray(); form.Bind(propertiesstrList); form.Location = Control.MousePosition; form.SelectedFont = obj.Font; form.SelectedText = obj.Text; form.Format = obj.Format; form.IsBarCode = obj is BarcodeInter2of5; form.DataSourceColumn = obj.BoundColumn; form.DisableTypeChange(); if (form.ShowDialog(owner) == DialogResult.OK) { obj.Font = form.SelectedFont; obj.Text = form.SelectedText; obj.Format = form.Format; obj.BoundColumn = form.DataSourceColumn; using (Graphics g = owner.CreateGraphics()) obj.Measure(g); return true; } return false; } }
private void Init(IImageObject image, byte[] buffer, GraphicsState state) { this.state = state; this.image = image; this.buffer = buffer; imageMask = image.ImageMask; decode = image.Decode; matte = image.Matte; size = image.Size; bitPerComponent = image.BitsPerComponent; maximum = Math.Pow(2, bitPerComponent) - 1; min = 0D; max = indexed ? maximum : 1D; sMask = image.SMask; if (sMask != null) { sMaskLoader = new ImageLoader(sMask, state); } if (imageMask) { return; } colorSpace = image.ColorSpace; componentsCount = colorSpace.ComponentCount; iccColorSpace = colorSpace as ICCBasedColorSpace; if (colorSpace is IndexedColorSpace indexedColorSpace) { indexed = true; iccColorSpace = indexedColorSpace.BaseSpace as ICCBasedColorSpace; } }
public static IImageObject ShowCreate(Form owner) { IImageObject result = null; using (PrintObjectForm form = new PrintObjectForm()) { Type type = typeof(VoucherAllocation); var properties = type.GetProperties(); var propertiesstrList = properties.Convert<PropertyInfo, string>((i) => i.Name).ToArray(); form.Bind(propertiesstrList); form.Location = Control.MousePosition; if (form.ShowDialog(owner) == DialogResult.OK) { result = (form.IsBarCode) ? (IImageObject)new BarcodeInter2of5() : (IImageObject)new TextObject(); result.Text = form.SelectedText; result.Font = form.SelectedFont; result.BoundColumn = form.DataSourceColumn; result.Format = form.Format; using (Graphics g = owner.CreateGraphics()) result.Measure(g); } return result; } }
public static SKBitmap LoadImage(IImageObject imageObject, byte[] data, PdfName filterItem, PdfDirectObject parameterItem) { SKBitmap image = null; if (filterItem.Equals(PdfName.DCTDecode) || filterItem.Equals(PdfName.DCT)) { image = SKBitmap.Decode(data); } else if (filterItem.Equals(PdfName.CCITTFaxDecode) || filterItem.Equals(PdfName.CCF)) { image = LoadTiff(data, parameterItem ?? imageObject.Header); } else if (filterItem.Equals(PdfName.JPXDecode)) { image = LoadJPEG2000(data, parameterItem ?? imageObject.Header); } else if (filterItem.Equals(PdfName.JBIG2Decode)) { image = LoadJBIG(data, parameterItem ?? imageObject.Header); } return(image); }
private void AddDelete_Click(object sender, EventArgs e) { if (sender == tsmiAdd) { IImageObject point = PrintObjectForm.ShowCreate(this); if (point != null) { point.Location = m_CurrentLocation; m_DocumentLayout.MetaObjectsList.Add(point); Invalidate(); } } else if (sender == tsmiDelete) { if (m_SelectImageObject != null && m_DocumentLayout.MetaObjectsList.Remove(m_SelectImageObject)) { Invalidate(); } m_SelectImageObject = null; } else if (sender == tsmiEdit) { if (m_SelectImageObject != null && PrintObjectForm.ShowEdit(this, m_SelectImageObject)) { Invalidate(); } } else { throw new NotImplementedException(); } }
public static IToggleModel NewToggleModel(this IModelFactory factory, string id, ToggledEventHandler handler, IImageObject image, bool isEnabled = true, bool isVisible = true) { var model = factory?.NewToggleModel(id, isEnabled, isVisible).SetImage(image); model.Toggled += handler; return(model?.Attach(id)); }
public static object ExtractImage(IImageObject imageObject, IBuffer data, PdfName filterItem, PdfDirectObject parameterItem, IDictionary <PdfName, PdfDirectObject> header) { //using (var stream = new MemoryStream(data.GetBuffer())) //using (var skiaData = SKData.Create(stream)) //using (var codec = SKCodec.Create(skiaData)) //{ // var sizei = codec.GetScaledDimensions(0.5f); // var nearest = new SKImageInfo(sizei.Width, sizei.Height); // bitmap = SKBitmap.Decode(codec, nearest); //} //if (filterItem.Equals(PdfName.DCTDecode) // || filterItem.Equals(PdfName.DCT)) //{ // SKBitmap bitmap = SKBitmap.Decode(data.GetBuffer()); // if (imageObject.SMask != null) // { // var info = bitmap.Info; // BitmapLoader smaskLoader = new BitmapLoader(imageObject.SMask, null); // var smask = smaskLoader.LoadSKMask(); // //bitmap.InstallMaskPixels(smask); //Skia bug // //vs // for (int y = 0; y < info.Height; y++) // { // var row = y * info.Width; // for (int x = 0; x < info.Width; x++) // { // var index = row + x; // var alpha = smask.GetAddr8(x, y); // if (smaskLoader.decode[0] == 1) // { // alpha = (byte)(255 - alpha); // } // var color = bitmap.GetPixel(x, y).WithAlpha(alpha); // bitmap.SetPixel(x, y, color); // } // } // smask.FreeImage(); // } // return bitmap; //} if (filterItem != null) { return(Bytes.Buffer.Extract(data, filterItem, parameterItem, imageObject.Header)); } return(data); }
public BitmapLoader(IImageObject image, GraphicsState state) { var buffer = image.Data; var data = buffer.GetBuffer(); var filter = image.Filter; if (filter != null) { buffer = Bytes.Buffer.Extract(buffer, filter, image.Parameters, image.Header); data = buffer.GetBuffer(); } Init(image, data, state); }
private void ContextMenu_Opening(object sender, CancelEventArgs e) { m_SelectImageObject = null; m_CurrentLocation = this.PointToClient(Control.MousePosition); m_CurrentLocation.Offset(Offset); foreach (var obj in m_DocumentLayout.MetaObjectsList) { if (obj.Contains(m_CurrentLocation)) { m_SelectImageObject = obj; break; } } }
protected override void OnMouseDown(MouseEventArgs e) { if (e.Button == MouseButtons.Left) { Point p = this.PointToClient(Control.MousePosition); p.Offset(Offset); foreach (var obj in m_DocumentLayout.MetaObjectsList) { obj.Selected = obj.Contains(p); if (obj.Selected) { m_SelectImageObject = obj; } } Invalidate(); } base.OnMouseDown(e); }
public static SKBitmap Load(IImageObject imageObject, GraphicsState state) { var data = imageObject.Data; var filter = imageObject.Filter; if (filter is PdfArray filterArray) { var parameterArray = imageObject.Parameters as PdfArray; for (int i = 0; i < filterArray.Count; i++) { var filterItem = (PdfName)filterArray[i]; var parameterItem = parameterArray?[i]; var temp = ExtractImage(imageObject, data, filterItem, parameterItem, imageObject.Header); if (temp is IBuffer tempBuffer) { data = tempBuffer; } else if (temp is SKBitmap tempImage) { return(tempImage); } } } else if (filter != null) { var filterItem = (PdfName)filter; var temp = ExtractImage(imageObject, data, filterItem, imageObject.Parameters, imageObject.Header); if (temp is IBuffer tempBuffer) { data = tempBuffer; } else if (temp is SKBitmap tempImage) { return(tempImage); } } var loader = new BitmapLoader(imageObject, data.GetBuffer(), state); return(loader.Load()); }
public static SKBitmap Load(IImageObject imageObject, GraphicsState state) { var buffer = imageObject.Data; var data = buffer.GetBuffer(); var image = (SKBitmap)null; var filter = imageObject.Filter; if (filter is PdfArray filterArray) { var parameterArray = imageObject.Parameters as PdfArray; for (int i = 0; i < filterArray.Count; i++) { var filterItem = (PdfName)filterArray[i]; var parameterItem = parameterArray?[i]; image = LoadImage(imageObject, data, filterItem, parameterItem); if (image == null) { buffer = Bytes.Buffer.Extract(buffer, filterItem, parameterItem ?? imageObject.Header); data = buffer.GetBuffer(); } } } else if (filter != null) { var filterItem = (PdfName)filter; image = LoadImage(imageObject, data, filterItem, imageObject.Parameters ?? imageObject.Header); if (image == null) { buffer = Bytes.Buffer.Extract(buffer, filter, imageObject.Parameters ?? imageObject.Header); data = buffer.GetBuffer(); image = SKBitmap.Decode(data); } } if (image == null) { var imageLoader = new ImageLoader(imageObject, data, state); image = imageLoader.Load(); } return(image); }
public IButtonModel SetImage(IImageObject image) { Image = image; return(this); }
public IToggleModel SetImage(IImageObject image) { Image = image; return(this); }
public IComboBoxModel SetImage(IImageObject image) { Image = image; return(this); }
public BitmapLoader(IImageObject image, byte[] buffer, GraphicsState state) { Init(image, buffer, state); }
public IDynamicMenuModel SetImage(IImageObject image) { Image = image; return(this); }
public IStaticDropDownModel SetImage(IImageObject image) { Image = image; return(this); }
public static object Image(this IImageObject @this) => @this?.IsMso ?? false ? @this?.ImageMso as object : @this?.ImageDisp;
public IStaticGalleryModel SetImage(IImageObject image) { Image = image; return(this); }