| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418 | using PaintDotNet.Base.CommTool;using PaintDotNet.Base.SettingModel;using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using System.Drawing;using System.Globalization;using System.IO;using System.Linq;using System.Text;using System.Threading.Tasks;using System.Windows.Forms;namespace PaintDotNet.Instrument{    internal class ImageInformation : PdnBaseForm    {        private GroupBox groupBox1;        private GroupBox groupBox2;        private Label label1;        private Label label9;        private Label label8;        private Label label7;        private Label label6;        private RichTextBox richTextBox1;        private TextBox textBox4;        private Label label5;        private Label label4;        private Label label3;        private Label label2;        private TextBox textBox1;        private TextBox textBox8;        private TextBox textBox7;        private TextBox textBox6;        private TextBox textBox5;        private ComboBox comboBox1;        private DateTimePicker dateTimePicker1;        private Button button1;        private AppWorkspace appWorkspace;        public ImageInformation(AppWorkspace appWorkspace)        {            this.appWorkspace = appWorkspace;                        InitializeComponent();            InitializeLanguageText();            InitializeInformation();        }        private void InitializeLanguageText()        {            this.groupBox1.Text = PdnResources.GetString("Menu.operation.text");            this.button1.Text = PdnResources.GetString("Menu.File.Close.Text");            this.groupBox2.Text = PdnResources.GetString("Menu.information.text");            this.label9.Text = PdnResources.GetString("Menu.timeofexposure.text") + ":";            this.label8.Text = PdnResources.GetString("Menu.magnificationchanger.text") + ":";            this.label7.Text = PdnResources.GetString("Menu.Objectlens.text") + ":";            this.label6.Text = PdnResources.GetString("Menu.microscope.text") + ":";            this.label5.Text = PdnResources.GetString("Menu.tool.imageinformation.Imageannotation.text") + ":";            this.label4.Text = PdnResources.GetString("Menu.tool.imageinformation.Imagesize.text") + ":";            this.label3.Text = PdnResources.GetString("Menu.tool.imageinformation.Createdate.text") + ":";            this.label2.Text = PdnResources.GetString("Menu.tool.imageinformation.Imageformat.text") + ":";            this.label1.Text = PdnResources.GetString("Menu.Imagename.text") + ":";            this.Text = PdnResources.GetString("Menu.Tools.ImageInfo.Text");        }        private void InitializeComponent()        {            this.groupBox1 = new System.Windows.Forms.GroupBox();            this.button1 = new System.Windows.Forms.Button();            this.groupBox2 = new System.Windows.Forms.GroupBox();            this.dateTimePicker1 = new System.Windows.Forms.DateTimePicker();            this.comboBox1 = new System.Windows.Forms.ComboBox();            this.textBox8 = new System.Windows.Forms.TextBox();            this.textBox7 = new System.Windows.Forms.TextBox();            this.textBox6 = new System.Windows.Forms.TextBox();            this.textBox5 = new System.Windows.Forms.TextBox();            this.label9 = new System.Windows.Forms.Label();            this.label8 = new System.Windows.Forms.Label();            this.label7 = new System.Windows.Forms.Label();            this.label6 = new System.Windows.Forms.Label();            this.richTextBox1 = new System.Windows.Forms.RichTextBox();            this.textBox4 = new System.Windows.Forms.TextBox();            this.label5 = new System.Windows.Forms.Label();            this.label4 = new System.Windows.Forms.Label();            this.label3 = new System.Windows.Forms.Label();            this.label2 = new System.Windows.Forms.Label();            this.textBox1 = new System.Windows.Forms.TextBox();            this.label1 = new System.Windows.Forms.Label();            this.groupBox1.SuspendLayout();            this.groupBox2.SuspendLayout();            this.SuspendLayout();            //             // groupBox1            //             this.groupBox1.Controls.Add(this.button1);            this.groupBox1.Location = new System.Drawing.Point(13, 13);            this.groupBox1.Name = "groupBox1";            this.groupBox1.Size = new System.Drawing.Size(403, 56);            this.groupBox1.TabIndex = 1;            this.groupBox1.TabStop = false;            this.groupBox1.Text = "操作";            //             // button1            //             this.button1.Location = new System.Drawing.Point(306, 20);            this.button1.Name = "button1";            this.button1.Size = new System.Drawing.Size(75, 23);            this.button1.TabIndex = 0;            this.button1.Text = "关闭";            this.button1.UseVisualStyleBackColor = true;            this.button1.Click += new System.EventHandler(this.button1_Click);            //             // groupBox2            //             this.groupBox2.Controls.Add(this.dateTimePicker1);            this.groupBox2.Controls.Add(this.comboBox1);            this.groupBox2.Controls.Add(this.textBox8);            this.groupBox2.Controls.Add(this.textBox7);            this.groupBox2.Controls.Add(this.textBox6);            this.groupBox2.Controls.Add(this.textBox5);            this.groupBox2.Controls.Add(this.label9);            this.groupBox2.Controls.Add(this.label8);            this.groupBox2.Controls.Add(this.label7);            this.groupBox2.Controls.Add(this.label6);            this.groupBox2.Controls.Add(this.richTextBox1);            this.groupBox2.Controls.Add(this.textBox4);            this.groupBox2.Controls.Add(this.label5);            this.groupBox2.Controls.Add(this.label4);            this.groupBox2.Controls.Add(this.label3);            this.groupBox2.Controls.Add(this.label2);            this.groupBox2.Controls.Add(this.textBox1);            this.groupBox2.Controls.Add(this.label1);            this.groupBox2.Location = new System.Drawing.Point(13, 86);            this.groupBox2.Name = "groupBox2";            this.groupBox2.Size = new System.Drawing.Size(403, 464);            this.groupBox2.TabIndex = 2;            this.groupBox2.TabStop = false;            this.groupBox2.Text = "信息";            //             // dateTimePicker1            //             this.dateTimePicker1.CustomFormat = "yyyy/MM/dd HH:mm:ss";            this.dateTimePicker1.Enabled = false;            this.dateTimePicker1.Format = System.Windows.Forms.DateTimePickerFormat.Custom;            this.dateTimePicker1.Location = new System.Drawing.Point(89, 91);            this.dateTimePicker1.Name = "dateTimePicker1";            this.dateTimePicker1.Size = new System.Drawing.Size(275, 21);            this.dateTimePicker1.TabIndex = 19;            //             // comboBox1            //             this.comboBox1.Enabled = false;            this.comboBox1.FormattingEnabled = true;            this.comboBox1.Location = new System.Drawing.Point(89, 59);            this.comboBox1.Name = "comboBox1";            this.comboBox1.Size = new System.Drawing.Size(275, 20);            this.comboBox1.TabIndex = 18;            //             // textBox8            //             this.textBox8.Location = new System.Drawing.Point(89, 428);            this.textBox8.Name = "textBox8";            this.textBox8.ReadOnly = true;            this.textBox8.Size = new System.Drawing.Size(275, 21);            this.textBox8.TabIndex = 17;            //             // textBox7            //             this.textBox7.Location = new System.Drawing.Point(89, 394);            this.textBox7.Name = "textBox7";            this.textBox7.ReadOnly = true;            this.textBox7.Size = new System.Drawing.Size(275, 21);            this.textBox7.TabIndex = 16;            //             // textBox6            //             this.textBox6.Location = new System.Drawing.Point(89, 357);            this.textBox6.Name = "textBox6";            this.textBox6.ReadOnly = true;            this.textBox6.Size = new System.Drawing.Size(275, 21);            this.textBox6.TabIndex = 15;            //             // textBox5            //             this.textBox5.Location = new System.Drawing.Point(89, 322);            this.textBox5.Name = "textBox5";            this.textBox5.ReadOnly = true;            this.textBox5.Size = new System.Drawing.Size(275, 21);            this.textBox5.TabIndex = 14;            //             // label9            //             this.label9.AutoSize = true;            this.label9.Location = new System.Drawing.Point(18, 431);            this.label9.Name = "label9";            this.label9.Size = new System.Drawing.Size(65, 12);            this.label9.TabIndex = 13;            this.label9.Text = "曝光时间:";            //             // label8            //             this.label8.AutoSize = true;            this.label8.Location = new System.Drawing.Point(18, 397);            this.label8.Name = "label8";            this.label8.Size = new System.Drawing.Size(53, 12);            this.label8.TabIndex = 12;            this.label8.Text = "变倍器:";            //             // label7            //             this.label7.AutoSize = true;            this.label7.Location = new System.Drawing.Point(18, 360);            this.label7.Name = "label7";            this.label7.Size = new System.Drawing.Size(41, 12);            this.label7.TabIndex = 11;            this.label7.Text = "物镜:";            //             // label6            //             this.label6.AutoSize = true;            this.label6.Location = new System.Drawing.Point(18, 325);            this.label6.Name = "label6";            this.label6.Size = new System.Drawing.Size(53, 12);            this.label6.TabIndex = 10;            this.label6.Text = "显微镜:";            //             // richTextBox1            //             this.richTextBox1.Location = new System.Drawing.Point(89, 175);            this.richTextBox1.Name = "richTextBox1";            this.richTextBox1.ReadOnly = true;            this.richTextBox1.Size = new System.Drawing.Size(275, 128);            this.richTextBox1.TabIndex = 9;            this.richTextBox1.Text = "";            //             // textBox4            //             this.textBox4.Location = new System.Drawing.Point(89, 132);            this.textBox4.Name = "textBox4";            this.textBox4.ReadOnly = true;            this.textBox4.Size = new System.Drawing.Size(275, 21);            this.textBox4.TabIndex = 8;            //             // label5            //             this.label5.AutoSize = true;            this.label5.Location = new System.Drawing.Point(18, 190);            this.label5.Name = "label5";            this.label5.Size = new System.Drawing.Size(65, 12);            this.label5.TabIndex = 5;            this.label5.Text = "图像注释:";            //             // label4            //             this.label4.AutoSize = true;            this.label4.Location = new System.Drawing.Point(16, 135);            this.label4.Name = "label4";            this.label4.Size = new System.Drawing.Size(65, 12);            this.label4.TabIndex = 4;            this.label4.Text = "图像大小:";            //             // label3            //             this.label3.AutoSize = true;            this.label3.Location = new System.Drawing.Point(16, 97);            this.label3.Name = "label3";            this.label3.Size = new System.Drawing.Size(65, 12);            this.label3.TabIndex = 3;            this.label3.Text = "创建日期:";            //             // label2            //             this.label2.AutoSize = true;            this.label2.Location = new System.Drawing.Point(16, 62);            this.label2.Name = "label2";            this.label2.Size = new System.Drawing.Size(65, 12);            this.label2.TabIndex = 2;            this.label2.Text = "图像格式:";            //             // textBox1            //             this.textBox1.Location = new System.Drawing.Point(89, 23);            this.textBox1.Name = "textBox1";            this.textBox1.ReadOnly = true;            this.textBox1.Size = new System.Drawing.Size(275, 21);            this.textBox1.TabIndex = 1;            //             // label1            //             this.label1.AutoSize = true;            this.label1.Location = new System.Drawing.Point(16, 26);            this.label1.Name = "label1";            this.label1.Size = new System.Drawing.Size(65, 12);            this.label1.TabIndex = 0;            this.label1.Text = "图像名称:";            //             // ImageInformation            //             this.AutoScaleDimensions = new System.Drawing.SizeF(96F, 96F);            this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Dpi;            this.ClientSize = new System.Drawing.Size(428, 562);            this.Controls.Add(this.groupBox2);            this.Controls.Add(this.groupBox1);            this.MaximizeBox = false;            this.MinimizeBox = false;            this.Name = "ImageInformation";            this.Text = "图片信息";            this.Controls.SetChildIndex(this.groupBox1, 0);            this.Controls.SetChildIndex(this.groupBox2, 0);            this.groupBox1.ResumeLayout(false);            this.groupBox2.ResumeLayout(false);            this.groupBox2.PerformLayout();            this.ResumeLayout(false);        }        /// <summary>        /// 关闭        /// </summary>        /// <param name="sender"></param>        /// <param name="e"></param>        private void button1_Click(object sender, EventArgs e)        {            this.Close();        }        private void InitializeInformation()        {            if (this.appWorkspace.ActiveDocumentWorkspace != null)            {                if (this.appWorkspace.ActiveDocumentWorkspace.CompositionSurface != null)                {                    //获取图片路径                    string fileName;                    FileType fileType;                    SaveConfigToken saveConfigToken;                    this.appWorkspace.ActiveDocumentWorkspace.GetDocumentSaveOptions(out fileName, out fileType, out saveConfigToken);                    if (fileName != null)                    {                        //获取图片对应xml                        PicConfigModel configModel = null;                        try                        {                            string path = Path.GetDirectoryName(fileName);                            string xmlPath = path + "\\" + Path.GetFileNameWithoutExtension(fileName) + ".xml";                            //如果xml存在                            if (System.IO.File.Exists(xmlPath))                            {                                configModel = XmlSerializeHelper.DESerializer<PicConfigModel>(FileOperationHelper.ReadStringFromFile(xmlPath, FileMode.Open));                                if (configModel != null)                                {                                    this.textBox1.Text = configModel.meta.text;                                    this.comboBox1.Text = configModel.meta.format;                                    if (configModel.meta.createdTime != null && configModel.meta.createdTime != "")                                    {                                        this.dateTimePicker1.Value = Convert.ToDateTime(configModel.meta.createdTime);                                    }                                    this.textBox4.Text = configModel.meta.imageSize;                                    this.textBox5.Text = configModel.hardware.microscope;                                    this.textBox6.Text = configModel.hardware.objective;                                    this.textBox7.Text = configModel.hardware.magnificationChanger;                                    this.textBox8.Text = configModel.hardware.exposureTime;                                }                            }                            else                            {                                //获取图片信息                                if (System.IO.File.Exists(fileName))                                {                                    FileInfo fi = new FileInfo(fileName);                                    this.textBox1.Text = System.IO.Path.GetFileNameWithoutExtension(fileName);                                    this.comboBox1.Text = fileType.Name;                                    this.dateTimePicker1.Value = fi.CreationTime;                                    this.textBox4.Text = FileOperationHelper.GetLength(fi.Length);                                }                                else                                {                                    clearDateTimePicker();                                }                            }                        }                        catch (Exception)                        {                            clearDateTimePicker();                        }                    }                    else                    {                        clearDateTimePicker();                    }                }                else                {                    clearDateTimePicker();                }            }            else            {                clearDateTimePicker();            }         }        /// <summary>        /// 清空日期控件的显示数据,默认会显示当前时间        /// </summary>        private void clearDateTimePicker()        {            this.dateTimePicker1.CustomFormat = " ";        }    }}
 |