From d258be4ebd5f7f88879ae80d7db72ebfccdc4b15 Mon Sep 17 00:00:00 2001 From: "Valeriano A.R" Date: Thu, 24 Dec 2015 11:53:23 +0100 Subject: [PATCH] Initial commit --- .gitignore | 6 + ImageView.sln | 22 ++ ImageView/Controls/CtrImageViewer.cs | 125 +++++++++ ImageView/FrmImageView.Designer.cs | 109 ++++++++ ImageView/FrmImageView.cs | 107 ++++++++ ImageView/FrmImageView.resx | 287 +++++++++++++++++++++ ImageView/ImageView.csproj | 93 +++++++ ImageView/Program.cs | 22 ++ ImageView/Properties/AssemblyInfo.cs | 14 + ImageView/Properties/Resources.Designer.cs | 71 +++++ ImageView/Properties/Resources.resx | 117 +++++++++ ImageView/Properties/Settings.Designer.cs | 30 +++ ImageView/Properties/Settings.settings | 7 + ImageView/icon_images.ico | Bin 0 -> 9662 bytes ImageView/icon_images.png | Bin 0 -> 1389 bytes ImageView/icon_images.svg | 69 +++++ 16 files changed, 1079 insertions(+) create mode 100644 .gitignore create mode 100644 ImageView.sln create mode 100644 ImageView/Controls/CtrImageViewer.cs create mode 100644 ImageView/FrmImageView.Designer.cs create mode 100644 ImageView/FrmImageView.cs create mode 100644 ImageView/FrmImageView.resx create mode 100644 ImageView/ImageView.csproj create mode 100644 ImageView/Program.cs create mode 100644 ImageView/Properties/AssemblyInfo.cs create mode 100644 ImageView/Properties/Resources.Designer.cs create mode 100644 ImageView/Properties/Resources.resx create mode 100644 ImageView/Properties/Settings.Designer.cs create mode 100644 ImageView/Properties/Settings.settings create mode 100644 ImageView/icon_images.ico create mode 100644 ImageView/icon_images.png create mode 100644 ImageView/icon_images.svg diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..9009feb --- /dev/null +++ b/.gitignore @@ -0,0 +1,6 @@ +*.exe +*.pdb +*/bin/* +*/obj/* +*.user +.vs diff --git a/ImageView.sln b/ImageView.sln new file mode 100644 index 0000000..934fc7a --- /dev/null +++ b/ImageView.sln @@ -0,0 +1,22 @@ + +Microsoft Visual Studio Solution File, Format Version 12.00 +# Visual Studio 14 +VisualStudioVersion = 14.0.24720.0 +MinimumVisualStudioVersion = 10.0.40219.1 +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ImageView", "ImageView\ImageView.csproj", "{B1B8280E-A303-4E09-892D-382A6AB206E3}" +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|Any CPU = Debug|Any CPU + Release|Any CPU = Release|Any CPU + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {B1B8280E-A303-4E09-892D-382A6AB206E3}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {B1B8280E-A303-4E09-892D-382A6AB206E3}.Debug|Any CPU.Build.0 = Debug|Any CPU + {B1B8280E-A303-4E09-892D-382A6AB206E3}.Release|Any CPU.ActiveCfg = Release|Any CPU + {B1B8280E-A303-4E09-892D-382A6AB206E3}.Release|Any CPU.Build.0 = Release|Any CPU + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection +EndGlobal diff --git a/ImageView/Controls/CtrImageViewer.cs b/ImageView/Controls/CtrImageViewer.cs new file mode 100644 index 0000000..7b0f545 --- /dev/null +++ b/ImageView/Controls/CtrImageViewer.cs @@ -0,0 +1,125 @@ +using System; +using System.Drawing; +using System.Windows.Forms; + +namespace ImageView.Controls +{ + public class CtrImageViewer : PictureBox + { + #region Declarations + + Image _imageShow = null; + + // Image projection + private double offsetX = 0; + private double offsetY = 0; + private double scaleX = 1.0f; + private double scaleY = 1.0f; + + #endregion + + #region Properties + + public Image ImageShow + { + get { return _imageShow; } + set + { + lock (this) + { + _imageShow = value; + this.Invalidate(); + } + } + } + + #endregion + + #region Control life cycle + + public CtrImageViewer() + { + BackColor = Color.Black; + } + + protected override void OnPaint(PaintEventArgs pe) + { + base.OnPaint(pe); + Redraw(pe.Graphics); + } + + protected override void OnResize(EventArgs e) + { + base.OnResize(e); + //Redraw(null); + this.Invalidate(); + } + + #endregion + + #region Private methods + + private void Redraw(Graphics graph) + { + if (_imageShow == null) + { + return; + } + lock (_imageShow) + { + if (graph == null) + { + graph = this.CreateGraphics(); + } + + // Calcular dimensiones a dibujar y centrar + int imgDrawWidth; + int imgDrawHeight; + float imgDrawX = 0; + float imgDrawY = 0; + float relation = (float)_imageShow.Width / (float)_imageShow.Height; + if (relation > 0) + { + // Imagen mas ancha que alta + imgDrawHeight = (int)(this.Width / relation); + if (imgDrawHeight > this.Height) + { + imgDrawHeight = this.Height; + imgDrawWidth = (int)(this.Height * relation); + imgDrawX = ((this.Width - imgDrawWidth) / 2.0f); + } + else + { + imgDrawWidth = this.Width; + imgDrawY = ((this.Height - imgDrawHeight) / 2.0f); + } + } + else + { + // Imagen mas alta que ancha + imgDrawWidth = (int)(this.Width * relation); + if (imgDrawWidth > this.Width) + { + imgDrawWidth = this.Width; + imgDrawHeight = (int)(this.Height / relation); + imgDrawY = ((this.Height - imgDrawHeight) / 2.0f); + } + else + { + imgDrawHeight = this.Height; + imgDrawX = ((this.Width - imgDrawWidth) / 2.0f); + } + } + + graph.DrawImage(_imageShow, imgDrawX, imgDrawY, imgDrawWidth, imgDrawHeight); + offsetX = imgDrawX; + offsetY = imgDrawY; + scaleX = (double)imgDrawWidth / (double)_imageShow.Width; + scaleY = (double)imgDrawHeight / (double)_imageShow.Height; + } + } + + #endregion + + } +} diff --git a/ImageView/FrmImageView.Designer.cs b/ImageView/FrmImageView.Designer.cs new file mode 100644 index 0000000..ec506fa --- /dev/null +++ b/ImageView/FrmImageView.Designer.cs @@ -0,0 +1,109 @@ +namespace ImageView +{ + partial class FrmImageView + { + /// + /// Required designer variable. + /// + private System.ComponentModel.IContainer components = null; + + /// + /// Clean up any resources being used. + /// + /// true if managed resources should be disposed; otherwise, false. + protected override void Dispose(bool disposing) + { + if (disposing && (components != null)) + { + components.Dispose(); + } + base.Dispose(disposing); + } + + #region Windows Form Designer generated code + + /// + /// Required method for Designer support - do not modify + /// the contents of this method with the code editor. + /// + private void InitializeComponent() + { + System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(FrmImageView)); + this.btnNext = new System.Windows.Forms.Button(); + this.btnPrev = new System.Windows.Forms.Button(); + this.btnSelectInExplorer = new System.Windows.Forms.Button(); + this.picImageView = new ImageView.Controls.CtrImageViewer(); + ((System.ComponentModel.ISupportInitialize)(this.picImageView)).BeginInit(); + this.SuspendLayout(); + // + // btnNext + // + this.btnNext.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right))); + this.btnNext.Location = new System.Drawing.Point(576, 521); + this.btnNext.Name = "btnNext"; + this.btnNext.Size = new System.Drawing.Size(75, 23); + this.btnNext.TabIndex = 1; + this.btnNext.Text = "Next"; + this.btnNext.UseVisualStyleBackColor = true; + this.btnNext.Click += new System.EventHandler(this.btnNext_Click); + // + // btnPrev + // + this.btnPrev.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left))); + this.btnPrev.Location = new System.Drawing.Point(13, 521); + this.btnPrev.Name = "btnPrev"; + this.btnPrev.Size = new System.Drawing.Size(75, 23); + this.btnPrev.TabIndex = 2; + this.btnPrev.Text = "Prev"; + this.btnPrev.UseVisualStyleBackColor = true; + this.btnPrev.Click += new System.EventHandler(this.btnPrev_Click); + // + // btnSelectInExplorer + // + this.btnSelectInExplorer.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left))); + this.btnSelectInExplorer.Location = new System.Drawing.Point(94, 521); + this.btnSelectInExplorer.Name = "btnSelectInExplorer"; + this.btnSelectInExplorer.Size = new System.Drawing.Size(94, 23); + this.btnSelectInExplorer.TabIndex = 3; + this.btnSelectInExplorer.Text = "SelectInExplorer"; + this.btnSelectInExplorer.UseVisualStyleBackColor = true; + this.btnSelectInExplorer.Click += new System.EventHandler(this.btnSelectInExplorer_Click); + // + // picImageView + // + this.picImageView.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom) + | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); + this.picImageView.BackColor = System.Drawing.Color.Black; + this.picImageView.ImageShow = null; + this.picImageView.Location = new System.Drawing.Point(0, 0); + this.picImageView.Name = "picImageView"; + this.picImageView.Size = new System.Drawing.Size(664, 515); + this.picImageView.TabIndex = 0; + this.picImageView.TabStop = false; + // + // FrmImageView + // + this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + this.ClientSize = new System.Drawing.Size(663, 550); + this.Controls.Add(this.btnSelectInExplorer); + this.Controls.Add(this.btnPrev); + this.Controls.Add(this.btnNext); + this.Controls.Add(this.picImageView); + this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon"))); + this.Name = "FrmImageView"; + this.Text = "ImageView"; + ((System.ComponentModel.ISupportInitialize)(this.picImageView)).EndInit(); + this.ResumeLayout(false); + + } + + #endregion + + private Controls.CtrImageViewer picImageView; + private System.Windows.Forms.Button btnNext; + private System.Windows.Forms.Button btnPrev; + private System.Windows.Forms.Button btnSelectInExplorer; + } +} \ No newline at end of file diff --git a/ImageView/FrmImageView.cs b/ImageView/FrmImageView.cs new file mode 100644 index 0000000..fe17d21 --- /dev/null +++ b/ImageView/FrmImageView.cs @@ -0,0 +1,107 @@ +using System; +using System.Collections.Generic; +using System.Drawing; +using System.IO; +using System.Linq; +using System.Windows.Forms; + +namespace ImageView +{ + public partial class FrmImageView : Form + { + private string _directoryPath = null; + private List _files = null; + private string _imagePath = null; + + private List files + { + get { + if (_files == null) + { + _files = Directory.GetFiles(_directoryPath).ToList(); + } + return _files; + } + } + + public FrmImageView(string imagePath) + { + InitializeComponent(); + _directoryPath = Path.GetDirectoryName(imagePath); + SetImage(imagePath); + } + + private bool SetImage(string imagePath) + { + _imagePath = imagePath; + Image image; + try + { + image = Bitmap.FromFile(_imagePath); + } + catch (Exception) { return false; } + picImageView.ImageShow = image; + Text = Path.GetFileName(_imagePath); + return true; + } + + private string NextFile(string filename) + { + int idx = files.IndexOf(filename); + idx++; + if (idx >= files.Count) + { + return null; + } + return files[idx]; + } + + private string PrevFile(string filename) + { + int idx = files.IndexOf(filename); + idx--; + if (idx < 0) + { + return null; + } + return files[idx]; + } + + private void NextImage() + { + string filename = _imagePath; + do + { + filename = NextFile(filename); + if (filename == null) { break; } + if (SetImage(filename)) { break; } + } while (true); + } + + private void PrevImage() + { + string filename = _imagePath; + do + { + filename = PrevFile(filename); + if (filename == null) { break; } + if (SetImage(filename)) { break; } + } while (true); + } + + private void btnNext_Click(object sender, EventArgs e) + { + NextImage(); + } + + private void btnPrev_Click(object sender, EventArgs e) + { + PrevImage(); + } + + private void btnSelectInExplorer_Click(object sender, EventArgs e) + { + System.Diagnostics.Process.Start("explorer.exe", string.Format("/select,\"{0}\"", _imagePath)); + } + } +} diff --git a/ImageView/FrmImageView.resx b/ImageView/FrmImageView.resx new file mode 100644 index 0000000..c77fdca --- /dev/null +++ b/ImageView/FrmImageView.resx @@ -0,0 +1,287 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + + + AAABAAEAMDAAAAEAIACoJQAAFgAAACgAAAAwAAAAYAAAAAEAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///8B9fX1au3t7eP39/f39vb29/b29vf29vb39vb29/b2 + 9vf29vb39vb29/b29vf29vb39vb29/b29vf29vb39vb29/b29vf29vb39vb29/b29vf29vb39vb29/b2 + 9vf29vb39vb29/b29vf29vb39vb29/b29vf29vb39vb29/b29vf29vb39vb29/b29vf29vb39vb29/f3 + 9/ft7e3e/Pz8VAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD09PR0y8vL8iQkJP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8wMDD/3Nzc8vz8/FQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADy8vLuFxcX/wMD + A/8RERH/ERER/xEREf8RERH/ERER/xEREf8RERH/ERER/xEREf8RERH/ERER/xEREf8RERH/ERER/xER + Ef8RERH/ERER/xEREf8RERH/ERER/xEREf8RERH/ERER/xEREf8RERH/ERER/xEREf8RERH/ERER/xER + Ef8RERH/ERER/xEREf8RERH/ERER/xEREf8BAQH/Ly8v/+3t7d0AAAAAAAAAAAAAAAAAAAAAAAAAAP// + /xPo6OjxAAAA/yoqKv/7+/v/8fHx//Hx8f/x8fH/8fHx//Hx8f/x8fH/8fHx//Hx8f/x8fH/8fHx//Hx + 8f/x8fH/8fHx//Hx8f/x8fH/8fHx//Hx8f/x8fH/8fHx//Hx8f/x8fH/8fHx//Hx8f/x8fH/8fHx//Hx + 8f/x8fH/8fHx//Hx8f/x8fH/8fHx//Hx8f/x8fH/8fHx//z8/P8PDw//AQEB//f39/gAAAAAAAAAAAAA + AAAAAAAAAAAAAP///xrk5OTwAAAA/yoqKv/u7u7///////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////Pz8/8PDw//AAAA//j4 + +PgAAAAAAAAAAAAAAAAAAAAAAAAAAP///xrk5OTwAAAA/yoqKv/u7u7///////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////Pz + 8/8PDw//AAAA//j4+PgAAAAAAAAAAAAAAAAAAAAAAAAAAP///xrk5OTwAAAA/yoqKv/u7u7///////// + ///4+Pj/3d3d/93d3f/d3d3/3d3d/93d3f/d3d3/3d3d/93d3f/d3d3/3d3d/93d3f/d3d3/3d3d/93d + 3f/d3d3/3d3d/93d3f/d3d3/3d3d/93d3f/d3d3/3d3d/93d3f/d3d3/3d3d/93d3f/d3d3/3d3d//v7 + +/////////////Pz8/8PDw//AAAA//j4+PgAAAAAAAAAAAAAAAAAAAAAAAAAAP///xrk5OTwAAAA/yoq + Kv/u7u7////////////Kysr/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/+Pj4/////////////Pz8/8PDw//AAAA//j4+PgAAAAAAAAAAP///wX///8s////M/// + /0jk5OTwAAAA/yoqKv/x8fH////////////Kysr/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/+Pj4/////////////Pz8/8PDw//AAAA//j4+Pj///8C8PDwh/T0 + 9PTT09PtycnJ7cnJye2kpKT1AAAA/x8fH//IyMj/zc3N/83Nzf+Pj4//AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/+Pj4/////////////Pz8/8PDw//AAAA//j4 + +Pj09PR0wMDA8w4ODv8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/+Pj4/////////////Pz + 8/8PDw//AAAA//j4+Pjs7OzgISEh/wMDA/9ERET/RERE/0RERP9ERET/RERE/0RERP9ERET/RERE/0RE + RP9ERET/RERE/0RERP9ERET/RERE/0RERP9ERET/RERE/0RERP9ERET/RERE/0RERP9ERET/RERE/0RE + RP9ERET/RERE/0RERP9ERET/RERE/0RERP9ERET/RERE/0RERP9ERET/RERE/0RERP8MDAz/AAAA/+Pj + 4/////////////Pz8/8PDw//AAAA//j4+Pj39/f4AAAA/wsLC//7+/v/7e3t/+3t7f/t7e3/7e3t/+3t + 7f/t7e3/7e3t/+3t7f/t7e3/7e3t/+3t7f/t7e3/7e3t/+3t7f/t7e3/7e3t/+3t7f/t7e3/7e3t/+3t + 7f/t7e3/7e3t/+3t7f/t7e3/7e3t/+3t7f/t7e3/7e3t/+3t7f/t7e3/7e3t/+3t7f/t7e3/7e3t//f3 + 9/8uLi7/AAAA/+Pj4/////////////Pz8/8PDw//AAAA//j4+Pj4+Pj4AAAA/wsLC//09PT///////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////+3t7f8uLi7/AAAA/+Pj4/////////////Pz8/8PDw//AAAA//j4+Pj4+Pj4AAAA/wsL + C//09PT///////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////+3t7f8uLi7/AAAA/+Pj4/////////////Pz8/8PDw//AAAA//j4 + +Pj4+Pj4AAAA/wsLC//09PT////////////4+Pj/u7u7/7u7u/+7u7v/u7u7/7u7u/+7u7v/u7u7/7u7 + u/+7u7v/u7u7/7u7u/+7u7v/u7u7/7u7u/+7u7v/u7u7/7u7u/+7u7v/u7u7/7u7u/+7u7v/u7u7/7u7 + u/+7u7v/u7u7/7u7u/+7u7v/u7u7//Dw8P///////////+3t7f8uLi7/AAAA/+Pj4/////////////Pz + 8/8PDw//AAAA//j4+Pj4+Pj4AAAA/wsLC//09PT////////////m5ub/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/8bGxv///////////+3t7f8uLi7/AAAA/+Pj + 4/////////////Pz8/8PDw//AAAA//j4+Pj4+Pj4AAAA/wsLC//09PT////////////m5ub/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/8bGxv///////////+3t + 7f8uLi7/AAAA/+Pj4/////////////Pz8/8PDw//AAAA//j4+Pj4+Pj4AAAA/wsLC//09PT///////// + ///m5ub/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/8bG + xv///////////+3t7f8uLi7/AAAA/+Pj4/////////////Pz8/8PDw//AAAA//j4+Pj4+Pj4AAAA/wsL + C//09PT////////////m5ub/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/8bGxv///////////+3t7f8uLi7/AAAA/+Pj4/////////////Pz8/8PDw//AAAA//j4 + +Pj4+Pj4AAAA/wsLC//09PT////////////m5ub/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/8bGxv///////////+3t7f8uLi7/AAAA/+Pj4/////////////Pz + 8/8PDw//AAAA//j4+Pj4+Pj4AAAA/wsLC//09PT////////////m5ub/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/8bGxv///////////+3t7f8uLi7/AAAA/+Pj + 4/////////////Pz8/8PDw//AAAA//j4+Pj4+Pj4AAAA/wsLC//09PT////////////m5ub/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/8bGxv///////////+3t + 7f8uLi7/AAAA/+Pj4/////////////Pz8/8PDw//AAAA//j4+Pj4+Pj4AAAA/wsLC//09PT///////// + ///m5ub/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/zc3N/9LS0v/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/8bG + xv///////////+3t7f8uLi7/AAAA/+Pj4/////////////Pz8/8PDw//AAAA//j4+Pj4+Pj4AAAA/wsL + C//09PT////////////m5ub/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/OTk5//Hx8f/x8fH/2NjY/0tLS/8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/8bGxv///////////+3t7f8uLi7/AAAA/+Pj4/////////////Pz8/8PDw//AAAA//j4 + +Pj4+Pj4AAAA/wsLC//09PT////////////m5ub/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8zMzP/8PDw//////////////////Dw8P/e3t7/VVVV/wEB + Af8AAAD/AAAA/wAAAP8AAAD/AAAA/8bGxv///////////+3t7f8uLi7/AAAA/+Pj4/////////////Pz + 8/8PDw//AAAA//j4+Pj4+Pj4AAAA/wsLC//09PT////////////t7e3/CQkJ/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/zk5Of/x8fH///////////////////////// + ////////8fHx/9jY2P9LS0v/AAAA/wAAAP8AAAD/AAAA/8bGxv///////////+3t7f8uLi7/AAAA/+Pj + 4/////////////Pz8/8PDw//AAAA//j4+Pj4+Pj4AAAA/wsLC//09PT////////////29vb/5OTk/zo6 + Ov8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/OTk5//Hx8f////////////// + ///////////////////////////////////x8fH/2tra/0tLS/8AAAD/AAAA/8bGxv///////////+3t + 7f8uLi7/AAAA/+Pj4/////////////Pz8/8PDw//AAAA//j4+Pj4+Pj4AAAA/wsLC//09PT///////// + //////////////Ly8v+hoaH/CwsL/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8zMzP/8PDw//// + //////////////////////////////////////////////////////////////Dw8P/e3t7/VVVV/8bG + xv///////////+3t7f8uLi7/AAAA/+Pj4/////////////Pz8/8PDw//AAAA//j4+Pj4+Pj4AAAA/wsL + C//09PT////////////////////////////19fX/5OTk/zo6Ov8AAAD/AAAA/wAAAP8AAAD/AAAA/zg4 + OP/x8fH///////////////////////////////////////////////////////////////////////// + ////////8fHx//39/f///////////+3t7f8uLi7/AAAA/+Pj4/////////////Pz8/8PDw//AAAA//j4 + +Pj4+Pj4AAAA/wsLC//09PT///////////////////////////////////////Pz8/+VlZX/CQkJ/wAA + AP8AAAD/ODg4//Dw8P////////////////////////////////////////////////////////////// + /////////////////////////////////////////////+3t7f8uLi7/AAAA/+Pj4/////////////Pz + 8/8PDw//AAAA//j4+Pj4+Pj4AAAA/wsLC//09PT///////////////////////////////////////// + ///19fX/5OTk/zo6Ov84ODj/8fHx///////////////////////////////////////x8fH/9vb2/+3t + 7f/09PT/+fn5/////////////////////////////////////////////////+3t7f8uLi7/AAAA/+Pj + 4/////////////Pz8/8PDw//AAAA//j4+Pj4+Pj4AAAA/wsLC//09PT///////////////////////// + //////////////////////////////Ly8v/z8/P///////////////////////////////////////Ly + 8v9hYWH/BQUF/wAAAP8YGBj/qqqq//Ly8v///////////////////////////////////////////+3t + 7f8uLi7/AAAA/+Pj4/////////////Pz8/8PDw//AAAA//j4+Pj4+Pj4AAAA/wsLC//09PT///////// + //////////////////////////////////////////////////////////////////////////////// + ////////8fHx/1JSUv8AAAD/AAAA/wAAAP8AAAD/AQEB/7y8vP/8/Pz///////////////////////// + /////////////+3t7f8uLi7/AAAA/+Pj4/////////////Pz8/8PDw//AAAA//j4+Pj4+Pj4AAAA/wsL + C//09PT///////////////////////////////////////////////////////////////////////// + ////////////////////////5+fn/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/zo6Ov/u7u7///////// + /////////////////////////////+3t7f8uLi7/AAAA/+Pj4/////////////Pz8/8PDw//AAAA//j4 + +Pj4+Pj4AAAA/wsLC//09PT///////////////////////////////////////////////////////// + ////////////////////////////////////////y8vL/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/xgY + GP/x8fH//////////////////////////////////////+3t7f8uLi7/AAAA/97e3v/v7+//7e3t//r6 + +v8PDw//AAAA//f39/j4+Pj4AAAA/wsLC//09PT///////////////////////////////////////// + ////////////////////////////////////////////////////////6urq/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/z09Pf/u7u7//////////////////////////////////////+3t7f8uLi7/AAAA/yoq + Kv8zMzP/MzMz/zMzM/8DAwP/ICAg/+3t7eL4+Pj4AAAA/wsLC//09PT///////////////////////// + ////////////////////////////////////////////////////////////////////////8fHx/1tb + W/8AAAD/AAAA/wAAAP8AAAD/AQEB/8TExP/9/f3//////////////////////////////////////+3t + 7f8uLi7/AAAA/wAAAP8AAAD/AAAA/wAAAP8QEBD/wcHB8/T09HT4+Pj4AAAA/wsLC//09PT///////// + //////////////////////////////////////////////////////////////////////////////// + //////////////Ly8v9vb2//CwsL/wAAAP8jIyP/t7e3//Pz8/////////////////////////////// + /////////////+3t7f8uLi7/AAAA/7CwsPXb29vu29vb7t7e3u7y8vLz8fHxhP///wL4+Pj4AAAA/wsL + C//09PT///////////////////////////////////////////////////////////////////////// + ///////////////////////////////////y8vL/9fX1//f39//x8fH/+vr6//////////////////// + /////////////////////////////+3t7f8uLi7/AAAA/+Hh4e////88////Iv///x////8BAAAAAAAA + AAD4+Pj4AAAA/wsLC//09PT///////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////+3t7f8uLi7/AAAA/+Hh4e////8eAAAAAAAA + AAAAAAAAAAAAAAAAAAD4+Pj4AAAA/wsLC//09PT///////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////+3t7f8uLi7/AAAA/+Hh + 4e////8eAAAAAAAAAAAAAAAAAAAAAAAAAAD4+Pj4AAAA/wsLC//09PT///////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////////////////+3t + 7f8uLi7/AAAA/+Hh4e////8eAAAAAAAAAAAAAAAAAAAAAAAAAAD4+Pj4AAAA/wsLC//09PT///////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////+3t7f8uLi7/AAAA/+Hh4e////8eAAAAAAAAAAAAAAAAAAAAAAAAAAD39/f3AgIC/wsL + C//+/v7/9/f3//f39//39/f/9/f3//f39//39/f/9/f3//f39//39/f/9/f3//f39//39/f/9/f3//f3 + 9//39/f/9/f3//f39//39/f/9/f3//f39//39/f/9/f3//f39//39/f/9/f3//f39//39/f/9/f3//f3 + 9//39/f/9/f3//f39//39/f/9/f3//39/f8uLi7/AAAA/+bm5vD///8XAAAAAAAAAAAAAAAAAAAAAAAA + AADs7OzZNDQ0/wEBAf8RERH/ERER/xEREf8RERH/ERER/xEREf8RERH/ERER/xEREf8RERH/ERER/xER + Ef8RERH/ERER/xEREf8RERH/ERER/xEREf8RERH/ERER/xEREf8RERH/ERER/xEREf8RERH/ERER/xER + Ef8RERH/ERER/xEREf8RERH/ERER/xEREf8RERH/ERER/xEREf8DAwP/FhYW//Ly8vAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAD8/PxO4ODg8jQ0NP8CAgL/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8nJyf/zMzM8vT0 + 9HQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/Pz8Tuzs7Nn7+/v8//////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////z8 + /P3q6urc+Pj4ZwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD8AAAAAAEAAPwAAAAAAAAA/AAAAAAA + AAD4AAAAAAAAAPgAAAAAAAAA+AAAAAAAAAD4AAAAAAAAAPgAAAAAAAAAwAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMAAAAA + AAAAHwAAAAAAAAAfAAAAAAAAAB8AAAAAAAAAHwAAAAAAAAAfAAAAAAAAAD8AAAAAAAAAPwAAgAAAAAB/ + AAA= + + + \ No newline at end of file diff --git a/ImageView/ImageView.csproj b/ImageView/ImageView.csproj new file mode 100644 index 0000000..cca3d70 --- /dev/null +++ b/ImageView/ImageView.csproj @@ -0,0 +1,93 @@ + + + + + Debug + AnyCPU + {B1B8280E-A303-4E09-892D-382A6AB206E3} + WinExe + Properties + ImageView + ImageView + v3.5 + 512 + + + AnyCPU + true + full + false + bin\Debug\ + DEBUG;TRACE + prompt + 4 + + + AnyCPU + pdbonly + true + bin\Release\ + TRACE + prompt + 4 + + + icon_images.ico + + + + + + + + + + + + + + + Component + + + Form + + + FrmImageView.cs + + + + + FrmImageView.cs + + + ResXFileCodeGenerator + Resources.Designer.cs + Designer + + + True + Resources.resx + + + SettingsSingleFileGenerator + Settings.Designer.cs + + + True + Settings.settings + True + + + + + + + + \ No newline at end of file diff --git a/ImageView/Program.cs b/ImageView/Program.cs new file mode 100644 index 0000000..7da6c31 --- /dev/null +++ b/ImageView/Program.cs @@ -0,0 +1,22 @@ +using System; +using System.Windows.Forms; + +namespace ImageView +{ + static class Program + { + [STAThread] + static void Main(string[] args) + { + if (args.Length < 1) + { + MessageBox.Show("Image Path missing"); + return; + } + + Application.EnableVisualStyles(); + Application.SetCompatibleTextRenderingDefault(false); + Application.Run(new FrmImageView(args[0])); + } + } +} diff --git a/ImageView/Properties/AssemblyInfo.cs b/ImageView/Properties/AssemblyInfo.cs new file mode 100644 index 0000000..ba6e273 --- /dev/null +++ b/ImageView/Properties/AssemblyInfo.cs @@ -0,0 +1,14 @@ +using System.Reflection; +using System.Runtime.InteropServices; + +[assembly: AssemblyTitle("ImageView")] +[assembly: AssemblyDescription("Simple image viewer")] +[assembly: AssemblyConfiguration("")] +[assembly: AssemblyCompany("")] +[assembly: AssemblyProduct("ImageView")] +[assembly: AssemblyCopyright("Copyright © Valeriano A.R. 2015")] +[assembly: AssemblyTrademark("")] +[assembly: AssemblyCulture("")] +[assembly: ComVisible(false)] +[assembly: Guid("b1b8280e-a303-4e09-892d-382a6ab206e3")] +[assembly: AssemblyVersion("1.0.*")] \ No newline at end of file diff --git a/ImageView/Properties/Resources.Designer.cs b/ImageView/Properties/Resources.Designer.cs new file mode 100644 index 0000000..f16d6e7 --- /dev/null +++ b/ImageView/Properties/Resources.Designer.cs @@ -0,0 +1,71 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by a tool. +// Runtime Version:4.0.30319.42000 +// +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +//------------------------------------------------------------------------------ + +namespace ImageView.Properties +{ + + + /// + /// A strongly-typed resource class, for looking up localized strings, etc. + /// + // This class was auto-generated by the StronglyTypedResourceBuilder + // class via a tool like ResGen or Visual Studio. + // To add or remove a member, edit your .ResX file then rerun ResGen + // with the /str option, or rebuild your VS project. + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "4.0.0.0")] + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] + internal class Resources + { + + private static global::System.Resources.ResourceManager resourceMan; + + private static global::System.Globalization.CultureInfo resourceCulture; + + [global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")] + internal Resources() + { + } + + /// + /// Returns the cached ResourceManager instance used by this class. + /// + [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)] + internal static global::System.Resources.ResourceManager ResourceManager + { + get + { + if ((resourceMan == null)) + { + global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("ImageView.Properties.Resources", typeof(Resources).Assembly); + resourceMan = temp; + } + return resourceMan; + } + } + + /// + /// Overrides the current thread's CurrentUICulture property for all + /// resource lookups using this strongly typed resource class. + /// + [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)] + internal static global::System.Globalization.CultureInfo Culture + { + get + { + return resourceCulture; + } + set + { + resourceCulture = value; + } + } + } +} diff --git a/ImageView/Properties/Resources.resx b/ImageView/Properties/Resources.resx new file mode 100644 index 0000000..af7dbeb --- /dev/null +++ b/ImageView/Properties/Resources.resx @@ -0,0 +1,117 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + \ No newline at end of file diff --git a/ImageView/Properties/Settings.Designer.cs b/ImageView/Properties/Settings.Designer.cs new file mode 100644 index 0000000..2478b40 --- /dev/null +++ b/ImageView/Properties/Settings.Designer.cs @@ -0,0 +1,30 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by a tool. +// Runtime Version:4.0.30319.42000 +// +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +//------------------------------------------------------------------------------ + +namespace ImageView.Properties +{ + + + [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "11.0.0.0")] + internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase + { + + private static Settings defaultInstance = ((Settings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new Settings()))); + + public static Settings Default + { + get + { + return defaultInstance; + } + } + } +} diff --git a/ImageView/Properties/Settings.settings b/ImageView/Properties/Settings.settings new file mode 100644 index 0000000..3964565 --- /dev/null +++ b/ImageView/Properties/Settings.settings @@ -0,0 +1,7 @@ + + + + + + + diff --git a/ImageView/icon_images.ico b/ImageView/icon_images.ico new file mode 100644 index 0000000000000000000000000000000000000000..cd72b243b1803e9011a1a27e87cb8991ee615de2 GIT binary patch literal 9662 zcmZQzU}RuqFfaho3Jfb$85qPE7#K7d7#Iu~7#I>5AmR)pg8%>jGk*R0HS6u$w~xPn z|Ni~kw{L?2gWU4=?b~~Q{`?8S=cO-SzLcCkefpD%ipqZm28Ka}4Gawa-??+=6FxtD z`t<3YxVZR#W@hI9f`WpB3Ntb?{@2&n|Nr*w+q>A};Q#;s!Y^LD_y`JjEiJA8zkmP! z|MBC;L4p7L`SYKjpZ`C|58uCk|AE8(Qcs>d`2chOyLa#Y4;JwG^JlR8L2mo;gFJFFp^5jV{Ub1A#S5O|2mzV#4;>3ynXV0Dm zdg{P|1E2Z$_~`B~Q1}po@uiwy2<+}z-L>h0UNpn7e<@%QiF|Lf`L5p+Ma4gkCV%a<>(Y&zgHC>%$!`$6^8?%lip z(-VLA@Btq0l!pJaXV1WCkC^g-T566RJ2vWmXb6mkKk0q8(e#5T|3}l$&`&?+=H~ys zy}gMphX+&ox3si`_xEqyxIvUZ28;WRjg9{!*QKB$8N|PL@818=&`|K$0k%4in(hbH z-<+JBM8`eMJ+N>GxfvS<_2qEI2Q}UQ?c2BiPo6yaZ)Iggv>yn$9oau1f84rt3ng7q z)BP~JK7IQ1f8oM~;Py2vjIq(!(hSTDd^B>pqJ{fGc7Of)6>nTvSXhAbDo8E47!)6W z|Nez*2c=(XxBo$77gMKB{g0e4KyC+xA>3jrF=*j_kkgRk0_1j3xPioRVURp1FM-?x z>finR`4g8?6mgJxYKK3v1)zKZiVtKlbT&v$Vq)TdR#sMU86Y7c@qg8-RsTWa=xWjV zw01wbedv5pxCaFVf!&Rq-$CQXd-m-44;n{C*MrO-X!k#V{v5;YFn@r`WI|)w1MU9P zr%&T_KPVl6;s-gr(b>rE2i4o}-@gZs>HPZj3qF1h8vCKu_{pnRuW-8G*4FkvDd7*A zLjlz+z$%h=;&w+KY-Hzkt0X`BbW8)VGrUXhd(Uc!Ds;if&T{& z9{da%`=pioL2dw*Gx_=X@VZ-BS^59=?c2d);2?Q?7}@h-$ep<4vAACj=4NDi)cv?ZkTUU+68@m|1WZg!;4^E=T+%z#U0ryD<+d2VIJtZb425Rqt=F(wKMxp=w`Q!KC!GljA zKY-!^R!0m5T3ucJ|CuvqK7r~f6i1_RKz;zl!|&g}|4^3esHgkSpFe+Jy?S-$$B!TB vXwF69{sHkA85qDc1A>MvEFeT50O=p8m>KGEc_L|hs5*NFh6WI`o`C@X#cG!o literal 0 HcmV?d00001 diff --git a/ImageView/icon_images.png b/ImageView/icon_images.png new file mode 100644 index 0000000000000000000000000000000000000000..ba3e575aa031d36e0831d2d2e04bc22985763857 GIT binary patch literal 1389 zcmeAS@N?(olHy`uVBq!ia0y~yU@!n-4mJh`hH$2z?FIv*rT-o(X4u?|E-?f9CVbdR~SD+ullBTU(#ZG0VOj-jsWL=i9frM>nmp)@aYY zZGP?g^`8$ODEzFkWBPD)N`{G-x3~8lgC0%w|2NN_^DD~9dDH&%X{w32`E=3fe2eE9 zxw);2G-m0XR-K#tvcyW)^Ae|{z=GFSMl*f({?+j`kT`O*Tm0jztJ*oaxtX!Cv4O{K z?En3ismE~I`R9xb%QBrNE!kxq-F5fw-9ztl%)A+#mcFU^T698tAE!kYQ`~)r>!m;b z*8QlltNHUout{OT!i5hFVr%_f7#S=XqT376QxlUP0Ugz{Ch6yU3DH3jH(}H|2XCx&(>OR?N z==S;Z=P9S3p4t{3IyGry#7WL|J9o~UXJ5Zgy3O$E%!apbbB{}wrKGf!m6vOaUATSQ zo0*xp_0jj=FVD<0Ub5;{Te{_kcXzFi@7lW6^vBo1HUfO7igX?&MmyX@~Ely?bqceR#;s z%g=v#srPh`%Ud>mo3(6W=By>Fv?SXcXZkE#UthC#)%~qn zSZgC!K9{+VDI`?YQ6T1hGQZHmOsTc&*3~_$FlCZ))|h;U>F3Mxb8-@DYVIU&zw`0i z+uO~(Jcnn@nmzk+YNXw#{3O4ncj^=rJTJYkt*u=f9UX1IJZNQ4<}8MWty{MWZ_m3c zw0rk%Lu2D$3#rPFk67Q`-Ce#y{S_XwMxIf9%|(d{PSOP`QIxmgXy+IF?a(|Q^^ytos3R?hhx7>e` zhXt{7Z8*+ZCT*1PxqPR@#E2*P)zj0{|J>PG>~1<$uB7?Gg>H?YX~?JI#30-Z3L{ zmVM;3(s+@h+oI+@4Pj2^S(f?l?v*QFycGmy{N;DD4w*ZbeV;D_0|SGntDnm{r-UW| D>?@Cn literal 0 HcmV?d00001 diff --git a/ImageView/icon_images.svg b/ImageView/icon_images.svg new file mode 100644 index 0000000..1e06cfe --- /dev/null +++ b/ImageView/icon_images.svg @@ -0,0 +1,69 @@ + + + +image/svg+xml \ No newline at end of file