public Bitmap Clone(Rectangle?rectangle = null) { EnsureData(); FixupAlpha(); if (rectangle == null) { return(new Bitmap(new BitmapHandler(Control.Copy()))); } else { var rect = rectangle.Value; PixelFormat format; if (Control.BitsPerSample == 24) { format = PixelFormat.Format24bppRgb; } else if (Control.HasAlpha) { format = PixelFormat.Format32bppRgba; } else { format = PixelFormat.Format32bppRgb; } var bmp = new Bitmap(rect.Width, rect.Height, format); Control.CopyArea(rect.X, rect.Y, rect.Width, rect.Height, bmp.ToGdk(), 0, 0); return(bmp); } }
public Bitmap Clone(Rectangle?rectangle = null) { if (rectangle == null) { return(new Bitmap(Generator, new BitmapHandler { Control = (UIImage)Control.Copy() })); } else { var rect = rectangle.Value; cgimage = cgimage ?? Control.CGImage; PixelFormat format; if (cgimage.BitsPerPixel == 24) { format = PixelFormat.Format24bppRgb; } else if (cgimage.AlphaInfo == CGImageAlphaInfo.None) { format = PixelFormat.Format32bppRgb; } else { format = PixelFormat.Format32bppRgba; } var bmp = new Bitmap(rect.Width, rect.Height, format, Generator); using (var graphics = new Graphics(bmp)) { graphics.DrawImage(Widget, rect, new Rectangle(rect.Size)); } return(bmp); } }
public Bitmap Clone(Rectangle?rectangle = null) { if (rectangle == null) { return(new Bitmap(Generator, new BitmapHandler((NSImage)Control.Copy()))); } else { var rect = rectangle.Value; PixelFormat format; if (bmprep != null && bmprep.BitsPerPixel == 24) { format = PixelFormat.Format24bppRgb; } else if (alpha || (bmprep != null && bmprep.HasAlpha)) { format = PixelFormat.Format32bppRgba; } else { format = PixelFormat.Format32bppRgb; } var bmp = new Bitmap(rect.Width, rect.Height, format, Generator); using (var graphics = new Graphics(Generator, bmp)) { graphics.DrawImage(Widget, rect, new Rectangle(rect.Size)); } return(bmp); } }
public nfloat GetPreferredSize(object value, CGSize cellSize, int row, object dataItem) { if (copy == null) { copy = Control.Copy() as NSCell; } ColumnHandler.DataViewHandler.OnCellFormatting(ColumnHandler.Widget, dataItem, row, copy); return(GetPreferredSize(value, cellSize, copy)); }
public void Copy() { // Arrange var control = GetControl(ControlFormTests.GetControlForm()); // Act var controlCopy = Control.Copy(control); // Assert AssertIsCopy(control, controlCopy); }
public Bitmap Clone(Rectangle?rectangle = null) { if (rectangle == null) { return(new Bitmap(Generator, new BitmapHandler((NSImage)Control.Copy()))); } else { var rect = new sd.RectangleF(sd.PointF.Empty, this.Control.Size); var temp = Control.AsCGImage(ref rect, null, null).WithImageInRect(rectangle.Value.ToSDRectangleF()); var image = new NSImage(temp, new sd.SizeF(temp.Width, temp.Height)); return(new Bitmap(Generator, new BitmapHandler(image))); } }
public Bitmap Clone(Rectangle?rectangle = null) { if (rectangle == null) { return(new Bitmap(new BitmapHandler((NSImage)Control.Copy()))); } else { var rect = new CGRect(CGPoint.Empty, Control.Size); var image = new NSImage(); var cgimage = Control.AsCGImage(ref rect, null, null).WithImageInRect(rectangle.Value.ToNS()); image.AddRepresentation(new NSBitmapImageRep(cgimage)); return(new Bitmap(new BitmapHandler(image))); } }
Size LabelF9PSize(double widthConstraint, double fontSize) { if (Element is Forms9Patch.Label element && Control?.Copy() is TextBlock control) { //P42.Utils.DebugExtensions.Message(element,"ENTER widthConstraint=[" + widthConstraint + "] fontSize=[" + fontSize + "]"); control.SetAndFormatText(element, fontSize); control.Measure(new Windows.Foundation.Size(widthConstraint, double.PositiveInfinity)); var size = new Windows.Foundation.Size(control.DesiredSize.Width, control.DesiredSize.Height); var result = new Size(size.Width, size.Height); //P42.Utils.DebugExtensions.Message(element,"EXIT result=[" + result + "]"); return(result); } return(new Size(10, 10)); }
public void Copy() { Control.Copy(); }
/// <summary> /// 对二进制串解报 /// </summary> /// <param name="bytetemp"></param> /// <param name="con"></param> public int UnpackReceive(byte[] bytetemp, Control con,ref ASDUClass.FunType ft, ref ASDUClass.TransRes tr) { try { if ((bytetemp.Length == 1) && (bytetemp[0] == 0xe5)) { //收到 E5 return 1; } if ((bytetemp.Length == 5) && (bytetemp[0] == 0x10) && (bytetemp[4] == 0x16)) { Frame_101 temp = new Frame_101(bytetemp); if (temp.GetControl().PRM == false) { con.Copy(con, temp.GetControl()); Console.WriteLine("RX: ACD:{0} DFC:{1} FUNCTION:{2}\r\n", temp.GetControl().ACD, temp.GetControl().DFC, temp.GetControl().function_0); try { sw = File.AppendText(logfile); sw.WriteLine(DateTime.Now.ToString() + " RX: ACD:{0} DFC:{1} FUNCTION:{2}\r\n", temp.GetControl().ACD, temp.GetControl().DFC, temp.GetControl().function_0); sw.Close(); } catch (Exception ex) { Console.WriteLine(ex.Message.ToString()); } //收到固定长度帧 return 2; } } if (bytetemp.Length > 5) { Frame_101 vtemp = new Frame_101(bytetemp); if ((vtemp != null) && (vtemp.GetControl().PRM == false)) { Console.WriteLine("RX: ACD:{0} DFC:{1} FUNCTION:{2} Time:{3} ASDUType:{4} Res:{5}", vtemp.GetControl().ACD, vtemp.GetControl().DFC, vtemp.GetControl().function_0, DateTime.Now, vtemp.GetAsduType(), vtemp.Res); //Console.WriteLine("RX: {0}", vtemp.ToString()); try { sw = File.AppendText(logfile); sw.WriteLine(DateTime.Now.ToString() + " RX: ACD:{0} DFC:{1} FUNCTION:{2} ASDUType:{3} Res:{4}", vtemp.GetControl().ACD, vtemp.GetControl().DFC, vtemp.GetControl().function_0, vtemp.GetAsduType(), vtemp.Res); sw.Close(); } catch (Exception ex) { Console.WriteLine(ex.Message.ToString()); } con.Copy(con, vtemp.GetControl()); ft = vtemp.GetAsduType(); tr = vtemp.Res; var datas = vtemp.GetData(); foreach (var data in datas) { //if (data.Addr == 0) continue; Console.WriteLine("RX: " + "addr:" + data.Addr.ToString() + " " + "data:" + data.Data.ToString() + " " + "time:" + data.Time.ToString()); //try //{ // sw = File.AppendText(logfile); // sw.WriteLine("RX: " + "addr:" + data.Addr.ToString() + " " + // "data:" + data.Data.ToString() + " " + // "time:" + data.Time.ToString()); // sw.Close(); //} //catch (Exception ex) //{ // Console.WriteLine(ex.Message.ToString()); //} numInf numtemp = new numInf(); if (find.TryGetValue(data.Addr, out numtemp)) { numtemp.val = Convert.ToSingle(data.Data); if (data.Time != null) { numtemp.dtm = Convert.ToDateTime(data.Time); } else numtemp.dtm = DateTime.Now; find.Remove(data.Addr); find.Add(data.Addr, numtemp); } else { numtemp.val = Convert.ToSingle(data.Data); if (data.Time != null) { numtemp.dtm = Convert.ToDateTime(data.Time); } else numtemp.dtm = DateTime.Now; find.Add(data.Addr, numtemp); } } Console.WriteLine("\n"); try { sw = File.AppendText(logfile); sw.WriteLine("\r\n"); sw.Close(); } catch (Exception ex) { Console.WriteLine(ex.Message.ToString()); } //收到可变长度帧 return 3; } } //收到错误帧 return 4; } catch (Exception ex) { Console.WriteLine(ex.Message.ToString()); return 4; } }