90 lines
		
	
	
		
			1.7 KiB
		
	
	
	
		
			C#
		
	
	
	
	
	
			
		
		
	
	
			90 lines
		
	
	
		
			1.7 KiB
		
	
	
	
		
			C#
		
	
	
	
	
	
| 
 | ||
| using DrawGraph;
 | ||
| using Newtonsoft.Json;
 | ||
| using System;
 | ||
| using System.Drawing;
 | ||
| using System.IO;
 | ||
| 
 | ||
| 
 | ||
| namespace DrawGraph
 | ||
| {
 | ||
| 	[JsonObject(MemberSerialization.OptOut)]
 | ||
| 	[Serializable]
 | ||
| 	public class ImagePackObj : PackObjBase
 | ||
| 	{
 | ||
| 		[JsonIgnore]
 | ||
| 		private Image img = null;
 | ||
| 
 | ||
| 		private string fileName = "";
 | ||
| 
 | ||
| 		[ClassAttributs(Description = "只能写项目资源目录(Resources)下的图片名称")]
 | ||
| 		public string FileName
 | ||
| 		{
 | ||
| 			get
 | ||
| 			{
 | ||
| 				return this.fileName;
 | ||
| 			}
 | ||
| 			set
 | ||
| 			{
 | ||
| 				this.fileName = value;
 | ||
| 				FileStream fileStream = null;
 | ||
| 				try
 | ||
| 				{
 | ||
| 					fileStream = new FileStream( this.fileName, FileMode.Open, FileAccess.Read);
 | ||
| 					this.img = Image.FromStream(fileStream);
 | ||
| 				}
 | ||
| 				catch (Exception  )
 | ||
| 				{
 | ||
| 				}
 | ||
| 				finally
 | ||
| 				{
 | ||
| 					bool flag = fileStream != null;
 | ||
| 					if (flag)
 | ||
| 					{
 | ||
| 						fileStream.Close();
 | ||
| 						fileStream.Dispose();
 | ||
| 					}
 | ||
| 				}
 | ||
| 			}
 | ||
| 		}
 | ||
| 
 | ||
| 		public ImagePackObj(ZedGraphControl zgc, PackObjManager poManager) : base(zgc, poManager)
 | ||
| 		{
 | ||
| 			this.baseZed = zgc;
 | ||
| 			base.PackText = "图片" + this.index.ToString();
 | ||
| 		}
 | ||
| 
 | ||
| 		public override void Draw()
 | ||
| 		{
 | ||
| 			bool flag = this.baseZed == null;
 | ||
| 			if (!flag)
 | ||
| 			{
 | ||
| 				this.Clear();
 | ||
| 				bool flag2 = this.fileName == "";
 | ||
| 				if (!flag2)
 | ||
| 				{
 | ||
| 					bool flag3 = this.img == null;
 | ||
| 					if (!flag3)
 | ||
| 					{
 | ||
| 						ZUtil.DrawImage(new ImageObj(this.img, (double)base.RealX, (double)base.RealY, (double)base.RealEndX, (double)base.RealEndY)
 | ||
| 						{
 | ||
| 							IsVisible = true,
 | ||
| 							ZOrder = ZOrder.A_InFront,
 | ||
| 							Tag = base.PackTag,
 | ||
| 							Location = 
 | ||
| 							{
 | ||
| 								CoordinateFrame = CoordType.PaneFraction,
 | ||
| 								AlignH = AlignH.Left,
 | ||
| 								AlignV = AlignV.Top
 | ||
| 							},
 | ||
| 							//IsVisible = true,
 | ||
| 							//ZOrder = ZOrder.A_InFront
 | ||
| 						}, this.baseZed);
 | ||
| 						base.Refresh();
 | ||
| 					}
 | ||
| 				}
 | ||
| 			}
 | ||
| 		}
 | ||
| 	}
 | ||
| }
 |