Commit ee59400f SK

可编辑矩形和圆形

1 个父辈 1c38d4d4
正在显示 30 个修改的文件 包含 73 行增加534 行删除
...@@ -5,7 +5,7 @@ VisualStudioVersion = 15.0.27703.2035 ...@@ -5,7 +5,7 @@ VisualStudioVersion = 15.0.27703.2035
MinimumVisualStudioVersion = 10.0.40219.1 MinimumVisualStudioVersion = 10.0.40219.1
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "AccAOI", "AccAOI\AccAOI.csproj", "{81D116DC-69C9-4B3B-AB7B-E324AF18CA3E}" Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "AccAOI", "AccAOI\AccAOI.csproj", "{81D116DC-69C9-4B3B-AB7B-E324AF18CA3E}"
EndProject EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ImageBox", "ImageBox\ImageBox.csproj", "{DB03ED04-5E06-4FEB-B891-0633448F24EC}" Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "AccImageBox", "ImageBox\AccImageBox.csproj", "{DB03ED04-5E06-4FEB-B891-0633448F24EC}"
EndProject EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "AOI", "AOI\AOI.csproj", "{529F3829-BD91-42A7-95AF-9DEA2DC409CB}" Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "AOI", "AOI\AOI.csproj", "{529F3829-BD91-42A7-95AF-9DEA2DC409CB}"
EndProject EndProject
......
...@@ -87,12 +87,6 @@ ...@@ -87,12 +87,6 @@
<Compile Include="control\AoiRgbControl.Designer.cs"> <Compile Include="control\AoiRgbControl.Designer.cs">
<DependentUpon>AoiRgbControl.cs</DependentUpon> <DependentUpon>AoiRgbControl.cs</DependentUpon>
</Compile> </Compile>
<Compile Include="Form1.cs">
<SubType>Form</SubType>
</Compile>
<Compile Include="Form1.Designer.cs">
<DependentUpon>Form1.cs</DependentUpon>
</Compile>
<Compile Include="FrmAoiSetting.cs"> <Compile Include="FrmAoiSetting.cs">
<SubType>Form</SubType> <SubType>Form</SubType>
</Compile> </Compile>
...@@ -100,10 +94,6 @@ ...@@ -100,10 +94,6 @@
<DependentUpon>FrmAoiSetting.cs</DependentUpon> <DependentUpon>FrmAoiSetting.cs</DependentUpon>
</Compile> </Compile>
<Compile Include="FormUtil.cs" /> <Compile Include="FormUtil.cs" />
<Compile Include="imageBoxEx\DragHandle.cs" />
<Compile Include="imageBoxEx\DragHandleAnchor.cs" />
<Compile Include="imageBoxEx\DragHandleCollection.cs" />
<Compile Include="imageBoxEx\ImageBoxEx.cs" />
<Compile Include="Program.cs" /> <Compile Include="Program.cs" />
<Compile Include="Properties\AssemblyInfo.cs" /> <Compile Include="Properties\AssemblyInfo.cs" />
<EmbeddedResource Include="control\AioMarkControl.resx"> <EmbeddedResource Include="control\AioMarkControl.resx">
...@@ -118,9 +108,6 @@ ...@@ -118,9 +108,6 @@
<EmbeddedResource Include="control\AoiRgbControl.resx"> <EmbeddedResource Include="control\AoiRgbControl.resx">
<DependentUpon>AoiRgbControl.cs</DependentUpon> <DependentUpon>AoiRgbControl.cs</DependentUpon>
</EmbeddedResource> </EmbeddedResource>
<EmbeddedResource Include="Form1.resx">
<DependentUpon>Form1.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="FrmAoiSetting.resx"> <EmbeddedResource Include="FrmAoiSetting.resx">
<DependentUpon>FrmAoiSetting.cs</DependentUpon> <DependentUpon>FrmAoiSetting.cs</DependentUpon>
</EmbeddedResource> </EmbeddedResource>
...@@ -152,9 +139,9 @@ ...@@ -152,9 +139,9 @@
<Project>{529f3829-bd91-42a7-95af-9dea2dc409cb}</Project> <Project>{529f3829-bd91-42a7-95af-9dea2dc409cb}</Project>
<Name>AOI</Name> <Name>AOI</Name>
</ProjectReference> </ProjectReference>
<ProjectReference Include="..\ImageBox\ImageBox.csproj"> <ProjectReference Include="..\ImageBox\AccImageBox.csproj">
<Project>{db03ed04-5e06-4feb-b891-0633448f24ec}</Project> <Project>{db03ed04-5e06-4feb-b891-0633448f24ec}</Project>
<Name>ImageBox</Name> <Name>AccImageBox</Name>
</ProjectReference> </ProjectReference>
</ItemGroup> </ItemGroup>
<ItemGroup /> <ItemGroup />
......
using Cyotek.Windows.Forms;
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Drawing.Drawing2D;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
namespace AccAOI
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private Image originalImage;
private void buttonOpen_Click(object sender, EventArgs e)
{
using (FileDialog dialog = new OpenFileDialog())
{
dialog.Filter = "All Supported Images (*.bmp;*.dib;*.rle;*.gif;*.jpg;*.png)|*.bmp;*.dib;*.rle;*.gif;*.jpg;*.png|Bitmaps (*.bmp;*.dib;*.rle)|*.bmp;*.dib;*.rle|Graphics Interchange Format (*.gif)|*.gif|Joint Photographic Experts (*.jpg)|*.jpg|Portable Network Graphics (*.png)|*.png|All Files (*.*)|*.*";
dialog.DefaultExt = "png";
if (dialog.ShowDialog(this) == DialogResult.OK)
{
try
{
originalImage = Image.FromFile(dialog.FileName);
imageBox.Image = originalImage;
}
catch (Exception ex)
{
MessageBox.Show(ex.Message, this.Text, MessageBoxButtons.OK, MessageBoxIcon.Error);
}
}
}
}
private void imageBox_Selected(object sender, EventArgs e)
{
//Image selectImage = imageBox.GetSelectedImage();
//RectangleF region = imageBox.SelectionRegion;
//Image threshImage = ImageUtil.Merge(originalImage, selectImage, region);
//imageBox.Image = threshImage;
}
private void imageBox_SelectionRegionChanged(object sender, EventArgs e)
{
//Image selectImage = imageBox.GetSelectedImage();
//if (selectImage != null)
//{
Matrix translateMatrix = new Matrix();
translateMatrix.Translate(100, 0);
Image threshImage = CutImage(imageBox.Image, imageBox.SelectionRegion);
cutImage = threshImage;
imageBoxEx1.Image = threshImage;
}
private Image CutImage(Image src, GraphicsPath path)
{
var bounds = path.GetBounds();
Bitmap b = new Bitmap(src.Width, src.Height);
using (Graphics g = Graphics.FromImage(b))
{
var br = new TextureBrush(src);
g.FillPath(br, path);
}
if(bounds.Width > 0 && bounds.Height > 0)
{
Bitmap result = new Bitmap((int)bounds.Width, (int)bounds.Height);
var srcRect = bounds;
var dstRect = new RectangleF(0, 0, bounds.Width, bounds.Height);
bounds.Location = System.Drawing.Point.Empty;
using (Graphics g = Graphics.FromImage(result))
{
bounds.Location = System.Drawing.Point.Empty;
g.DrawImage(b, dstRect, srcRect, GraphicsUnit.Pixel);
}
return result;
}
return null;
}
Image cutImage;
private void InRangeImage()
{
//Mat src = BitmapConverter.ToMat(new Bitmap(cutImage));
//Cv2.CvtColor(src, src, ColorConversionCodes.BGRA2BGR);
//Mat dst = new Mat();
//Scalar minScalar = Scalar.FromRgb((int)minR.Value, (int)minG.Value, (int)minB.Value);
//Scalar maxScalar = Scalar.FromRgb((int)maxR.Value, (int)maxG.Value, (int)maxB.Value);
//Cv2.InRange(src, minScalar, maxScalar, dst);
//int count = Cv2.CountNonZero(dst);
//labelCount.Text = count + "";
//src.CopyTo(dst, dst);
//imageBoxEx1.Image = BitmapConverter.ToBitmap(dst);
}
private void minR_ValueChanged(object sender, EventArgs e)
{
InRangeImage();
}
private void maxR_ValueChanged(object sender, EventArgs e)
{
InRangeImage();
}
private void minG_ValueChanged(object sender, EventArgs e)
{
InRangeImage();
}
private void maxG_ValueChanged(object sender, EventArgs e)
{
InRangeImage();
}
private void minB_ValueChanged(object sender, EventArgs e)
{
InRangeImage();
}
private void maxB_ValueChanged(object sender, EventArgs e)
{
InRangeImage();
}
}
}
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 2.0
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value>
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment>
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" use="required" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
</root>
\ No newline at end of file \ No newline at end of file
using Cyotek.Windows.Forms; 
using Acc.ImageBox;
namespace AccAOI namespace AccAOI
{ {
...@@ -40,7 +42,7 @@ namespace AccAOI ...@@ -40,7 +42,7 @@ namespace AccAOI
this.btnGetCameraImg = new Asa.Theme.FlatButton(); this.btnGetCameraImg = new Asa.Theme.FlatButton();
this.comType = new Asa.Theme.FlatCombo(); this.comType = new Asa.Theme.FlatCombo();
this.panAoi = new System.Windows.Forms.Panel(); this.panAoi = new System.Windows.Forms.Panel();
this.imageBox1 = new Cyotek.Windows.Forms.ImageBox(); this.imageBox1 = new AccImageBox();
this.btnExcute = new Asa.Theme.FlatButton(); this.btnExcute = new Asa.Theme.FlatButton();
this.SuspendLayout(); this.SuspendLayout();
// //
...@@ -163,7 +165,7 @@ namespace AccAOI ...@@ -163,7 +165,7 @@ namespace AccAOI
| System.Windows.Forms.AnchorStyles.Right))); | System.Windows.Forms.AnchorStyles.Right)));
this.imageBox1.Location = new System.Drawing.Point(625, 40); this.imageBox1.Location = new System.Drawing.Point(625, 40);
this.imageBox1.Name = "imageBox1"; this.imageBox1.Name = "imageBox1";
this.imageBox1.SelectionMode = Cyotek.Windows.Forms.ImageBoxSelectionMode.Rectangle; this.imageBox1.SelectionMode = ImageBoxSelectionMode.Rectangle;
this.imageBox1.Size = new System.Drawing.Size(637, 592); this.imageBox1.Size = new System.Drawing.Size(637, 592);
this.imageBox1.TabIndex = 4; this.imageBox1.TabIndex = 4;
this.imageBox1.SelectionRegionChanged += new System.EventHandler(this.imageBox1_SelectionRegionChanged); this.imageBox1.SelectionRegionChanged += new System.EventHandler(this.imageBox1_SelectionRegionChanged);
...@@ -207,7 +209,7 @@ namespace AccAOI ...@@ -207,7 +209,7 @@ namespace AccAOI
#endregion #endregion
private Asa.Theme.FlatList aoiList; private Asa.Theme.FlatList aoiList;
private ImageBox imageBox1; private AccImageBox imageBox1;
private Asa.Theme.FlatButton btnOpenPro; private Asa.Theme.FlatButton btnOpenPro;
private Asa.Theme.FlatButton btnSavePro; private Asa.Theme.FlatButton btnSavePro;
private Asa.Theme.FlatButton btnNewAoi; private Asa.Theme.FlatButton btnNewAoi;
......
using Cyotek.Windows.Forms; 
using Acc.ImageBox;
namespace AccAOI.control namespace AccAOI.control
{ {
...@@ -38,7 +40,7 @@ namespace AccAOI.control ...@@ -38,7 +40,7 @@ namespace AccAOI.control
this.panAreaImage = new Asa.Theme.FlatPanel(); this.panAreaImage = new Asa.Theme.FlatPanel();
this.panControl = new Asa.Theme.FlatPanel(); this.panControl = new Asa.Theme.FlatPanel();
this.btnImgType = new Asa.Theme.FlatButton(); this.btnImgType = new Asa.Theme.FlatButton();
this.aoiImage = new Cyotek.Windows.Forms.ImageBox(); this.aoiImage = new ImageBox();
this.panAreaSet.SuspendLayout(); this.panAreaSet.SuspendLayout();
this.SuspendLayout(); this.SuspendLayout();
// //
......
...@@ -7,9 +7,9 @@ using System.Linq; ...@@ -7,9 +7,9 @@ using System.Linq;
using System.Text; using System.Text;
using System.Threading.Tasks; using System.Threading.Tasks;
using System.Windows.Forms; using System.Windows.Forms;
using Cyotek.Windows.Forms;
using AOI; using AOI;
using System.Drawing.Drawing2D; using System.Drawing.Drawing2D;
using Acc.ImageBox;
namespace AccAOI.control namespace AccAOI.control
{ {
......
using System.Drawing;
namespace AccAOI
{
// Cyotek ImageBox
// Copyright (c) 2010-2014 Cyotek.
// http://cyotek.com
// http://cyotek.com/blog/tag/imagebox
// Licensed under the MIT License. See imagebox-license.txt for the full text.
// If you use this control in your applications, attribution, donations or contributions are welcome.
public class DragHandle
{
#region Public Constructors
public DragHandle(DragHandleAnchor anchor)
: this()
{
this.Anchor = anchor;
}
#endregion
#region Protected Constructors
protected DragHandle()
{
this.Enabled = true;
this.Visible = true;
}
#endregion
#region Public Properties
public DragHandleAnchor Anchor { get; protected set; }
public Rectangle Bounds { get; set; }
public bool Enabled { get; set; }
public bool Visible { get; set; }
#endregion
}
}
namespace AccAOI
{
// Cyotek ImageBox
// Copyright (c) 2010-2014 Cyotek.
// http://cyotek.com
// http://cyotek.com/blog/tag/imagebox
// Licensed under the MIT License. See imagebox-license.txt for the full text.
// If you use this control in your applications, attribution, donations or contributions are welcome.
public enum DragHandleAnchor
{
None,
TopLeft,
TopCenter,
TopRight,
MiddleLeft,
MiddleCenter,
MiddleRight,
BottomLeft,
BottomCenter,
BottomRight
}
}
using System.Collections;
using System.Collections.Generic;
using System.Drawing;
namespace AccAOI
{
// Cyotek ImageBox
// Copyright (c) 2010-2014 Cyotek.
// http://cyotek.com
// http://cyotek.com/blog/tag/imagebox
// Licensed under the MIT License. See imagebox-license.txt for the full text.
// If you use this control in your applications, attribution, donations or contributions are welcome.
public class DragHandleCollection : IEnumerable<DragHandle>
{
#region Instance Fields
private readonly IDictionary<DragHandleAnchor, DragHandle> _items;
#endregion
#region Public Constructors
public DragHandleCollection()
{
_items = new Dictionary<DragHandleAnchor, DragHandle>();
_items.Add(DragHandleAnchor.TopLeft, new DragHandle(DragHandleAnchor.TopLeft));
_items.Add(DragHandleAnchor.TopCenter, new DragHandle(DragHandleAnchor.TopCenter));
_items.Add(DragHandleAnchor.TopRight, new DragHandle(DragHandleAnchor.TopRight));
_items.Add(DragHandleAnchor.MiddleLeft, new DragHandle(DragHandleAnchor.MiddleLeft));
_items.Add(DragHandleAnchor.MiddleRight, new DragHandle(DragHandleAnchor.MiddleRight));
_items.Add(DragHandleAnchor.BottomLeft, new DragHandle(DragHandleAnchor.BottomLeft));
_items.Add(DragHandleAnchor.BottomCenter, new DragHandle(DragHandleAnchor.BottomCenter));
_items.Add(DragHandleAnchor.BottomRight, new DragHandle(DragHandleAnchor.BottomRight));
_items.Add(DragHandleAnchor.MiddleCenter, new DragHandle(DragHandleAnchor.MiddleCenter));
}
#endregion
#region Public Properties
public int Count
{
get { return _items.Count; }
}
public DragHandle this[DragHandleAnchor index]
{
get { return _items[index]; }
}
#endregion
#region Public Members
/// <summary>
/// Returns an enumerator that iterates through the collection.
/// </summary>
/// <returns>
/// A <see cref="T:System.Collections.Generic.IEnumerator`1"/> that can be used to iterate through the collection.
/// </returns>
public IEnumerator<DragHandle> GetEnumerator()
{
return _items.Values.GetEnumerator();
}
public DragHandleAnchor HitTest(Point point)
{
DragHandleAnchor result;
result = DragHandleAnchor.None;
foreach (DragHandle handle in this)
{
if (handle.Visible && handle.Bounds.Contains(point))
{
result = handle.Anchor;
break;
}
}
return result;
}
#endregion
#region IEnumerable<DragHandle> Members
/// <summary>
/// Returns an enumerator that iterates through a collection.
/// </summary>
/// <returns>
/// An <see cref="T:System.Collections.IEnumerator"/> object that can be used to iterate through the collection.
/// </returns>
IEnumerator IEnumerable.GetEnumerator()
{
return this.GetEnumerator();
}
#endregion
}
}
此文件的差异被折叠, 点击展开。
...@@ -8,7 +8,7 @@ ...@@ -8,7 +8,7 @@
<OutputType>Library</OutputType> <OutputType>Library</OutputType>
<AppDesignerFolder>Properties</AppDesignerFolder> <AppDesignerFolder>Properties</AppDesignerFolder>
<RootNamespace>ImageBox</RootNamespace> <RootNamespace>ImageBox</RootNamespace>
<AssemblyName>ImageBox</AssemblyName> <AssemblyName>AccImageBox</AssemblyName>
<TargetFrameworkVersion>v4.5</TargetFrameworkVersion> <TargetFrameworkVersion>v4.5</TargetFrameworkVersion>
<FileAlignment>512</FileAlignment> <FileAlignment>512</FileAlignment>
<TargetFrameworkProfile /> <TargetFrameworkProfile />
...@@ -46,31 +46,35 @@ ...@@ -46,31 +46,35 @@
<Compile Include="ImageBox.cs"> <Compile Include="ImageBox.cs">
<SubType>Component</SubType> <SubType>Component</SubType>
</Compile> </Compile>
<Compile Include="ImageBox\ImageBoxActionSources.cs" /> <Compile Include="AccImageBox.cs">
<Compile Include="ImageBox\ImageBoxBorderStyle.cs" /> <SubType>Component</SubType>
<Compile Include="ImageBox\ImageBoxCancelEventArgs.cs" /> </Compile>
<Compile Include="ImageBox\ImageBoxGridDisplayMode.cs" /> <Compile Include="box\ImageBoxActionSources.cs" />
<Compile Include="ImageBox\ImageBoxGridScale.cs" /> <Compile Include="box\ImageBoxBorderStyle.cs" />
<Compile Include="ImageBox\ImageBoxNativeMethods.cs" /> <Compile Include="box\ImageBoxCancelEventArgs.cs" />
<Compile Include="ImageBox\ImageBoxSelectionMode.cs" /> <Compile Include="box\ImageBoxGridDisplayMode.cs" />
<Compile Include="ImageBox\ImageBoxSizeMode.cs" /> <Compile Include="box\ImageBoxGridScale.cs" />
<Compile Include="ImageBox\ImageBoxZoomActions.cs" /> <Compile Include="box\ImageBoxNativeMethods.cs" />
<Compile Include="ImageBox\ImageBoxZoomEventArgs.cs" /> <Compile Include="box\ImageBoxSelectionMode.cs" />
<Compile Include="box\ImageBoxSizeMode.cs" />
<Compile Include="box\ImageBoxZoomActions.cs" />
<Compile Include="box\ImageBoxZoomEventArgs.cs" />
<Compile Include="Properties\AssemblyInfo.cs" /> <Compile Include="Properties\AssemblyInfo.cs" />
<Compile Include="ImageBox\ScrollControl.cs"> <Compile Include="box\ScrollControl.cs">
<SubType>Component</SubType> <SubType>Component</SubType>
</Compile> </Compile>
<Compile Include="ImageBox\ScrollProperties.cs"> <Compile Include="box\ScrollProperties.cs">
<SubType>Component</SubType> <SubType>Component</SubType>
</Compile> </Compile>
<Compile Include="ImageBox\VirtualScrollableControl.cs"> <Compile Include="box\VirtualScrollableControl.cs">
<SubType>Component</SubType> <SubType>Component</SubType>
</Compile> </Compile>
<Compile Include="ImageBox\ZoomLevelCollection.cs" /> <Compile Include="box\ZoomLevelCollection.cs" />
<Compile Include="ImageBox\ZoomLevelCollectionConverter.cs" /> <Compile Include="box\ZoomLevelCollectionConverter.cs" />
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>
<Content Include="ImageBox.bmp" /> <Content Include="ImageBox.bmp" />
</ItemGroup> </ItemGroup>
<ItemGroup />
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" /> <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
</Project> </Project>
\ No newline at end of file \ No newline at end of file
using System; using System;
namespace Cyotek.Windows.Forms namespace Acc.ImageBox
{ {
// Cyotek ImageBox // Cyotek ImageBox
// Copyright (c) 2010-2014 Cyotek. // Copyright (c) 2010-2014 Cyotek.
// http://cyotek.com // http://cyotek.com
// http://cyotek.com/blog/tag/imagebox // http://cyotek.com/blog/tag/ImageBox
// Licensed under the MIT License. See imagebox-license.txt for the full text. // Licensed under the MIT License. See ImageBox-license.txt for the full text.
// If you use this control in your applications, attribution, donations or contributions are welcome. // If you use this control in your applications, attribution, donations or contributions are welcome.
......
namespace Cyotek.Windows.Forms namespace Acc.ImageBox
{ {
// Cyotek ImageBox // Cyotek ImageBox
// Copyright (c) 2010-2014 Cyotek. // Copyright (c) 2010-2014 Cyotek.
// http://cyotek.com // http://cyotek.com
// http://cyotek.com/blog/tag/imagebox // http://cyotek.com/blog/tag/ImageBox
// Licensed under the MIT License. See imagebox-license.txt for the full text. // Licensed under the MIT License. See ImageBox-license.txt for the full text.
// If you use this control in your applications, attribution, donations or contributions are welcome. // If you use this control in your applications, attribution, donations or contributions are welcome.
......
using System.ComponentModel; using System.ComponentModel;
using System.Drawing; using System.Drawing;
namespace Cyotek.Windows.Forms namespace Acc.ImageBox
{ {
// Cyotek ImageBox // Cyotek ImageBox
// Copyright (c) 2010-2014 Cyotek. // Copyright (c) 2010-2014 Cyotek.
// http://cyotek.com // http://cyotek.com
// http://cyotek.com/blog/tag/imagebox // http://cyotek.com/blog/tag/ImageBox
// Licensed under the MIT License. See imagebox-license.txt for the full text. // Licensed under the MIT License. See ImageBox-license.txt for the full text.
// If you use this control in your applications, attribution, donations or contributions are welcome. // If you use this control in your applications, attribution, donations or contributions are welcome.
......
namespace Cyotek.Windows.Forms namespace Acc.ImageBox
{ {
// Cyotek ImageBox // Cyotek ImageBox
// Copyright (c) 2010-2014 Cyotek. // Copyright (c) 2010-2014 Cyotek.
// http://cyotek.com // http://cyotek.com
// http://cyotek.com/blog/tag/imagebox // http://cyotek.com/blog/tag/ImageBox
// Licensed under the MIT License. See imagebox-license.txt for the full text. // Licensed under the MIT License. See ImageBox-license.txt for the full text.
// If you use this control in your applications, attribution, donations or contributions are welcome. // If you use this control in your applications, attribution, donations or contributions are welcome.
......
namespace Cyotek.Windows.Forms namespace Acc.ImageBox
{ {
// Cyotek ImageBox // Cyotek ImageBox
// Copyright (c) 2010-2014 Cyotek. // Copyright (c) 2010-2014 Cyotek.
// http://cyotek.com // http://cyotek.com
// http://cyotek.com/blog/tag/imagebox // http://cyotek.com/blog/tag/ImageBox
// Licensed under the MIT License. See imagebox-license.txt for the full text. // Licensed under the MIT License. See ImageBox-license.txt for the full text.
// If you use this control in your applications, attribution, donations or contributions are welcome. // If you use this control in your applications, attribution, donations or contributions are welcome.
......
using System; using System;
using System.Runtime.InteropServices; using System.Runtime.InteropServices;
// ReSharper disable NotAccessedField.Global // ReSharper disable NotAcc.ImageBoxessedField.Global
// ReSharper disable InconsistentNaming // ReSharper disable InconsistentNaming
// ReSharper disable FieldCanBeMadeReadOnly.Global // ReSharper disable FieldCanBeMadeReadOnly.Global
namespace Cyotek.Windows.Forms namespace Acc.ImageBox
{ {
// Cyotek ImageBox // Cyotek ImageBox
// Copyright (c) 2010-2014 Cyotek. // Copyright (c) 2010-2014 Cyotek.
// http://cyotek.com // http://cyotek.com
// http://cyotek.com/blog/tag/imagebox // http://cyotek.com/blog/tag/ImageBox
// Licensed under the MIT License. See imagebox-license.txt for the full text. // Licensed under the MIT License. See ImageBox-license.txt for the full text.
// If you use this control in your applications, attribution, donations or contributions are welcome. // If you use this control in your applications, attribution, donations or contributions are welcome.
...@@ -155,7 +155,7 @@ namespace Cyotek.Windows.Forms ...@@ -155,7 +155,7 @@ namespace Cyotek.Windows.Forms
#endregion #endregion
} }
// ReSharper restore NotAccessedField.Global // ReSharper restore NotAcc.ImageBoxessedField.Global
// ReSharper restore FieldCanBeMadeReadOnly.Global // ReSharper restore FieldCanBeMadeReadOnly.Global
// ReSharper restore InconsistentNaming // ReSharper restore InconsistentNaming
} }
namespace Cyotek.Windows.Forms namespace Acc.ImageBox
{ {
// Cyotek ImageBox // Cyotek ImageBox
// Copyright (c) 2010-2014 Cyotek. // Copyright (c) 2010-2014 Cyotek.
// http://cyotek.com // http://cyotek.com
// http://cyotek.com/blog/tag/imagebox // http://cyotek.com/blog/tag/ImageBox
// Licensed under the MIT License. See imagebox-license.txt for the full text. // Licensed under the MIT License. See ImageBox-license.txt for the full text.
// If you use this control in your applications, attribution, donations or contributions are welcome. // If you use this control in your applications, attribution, donations or contributions are welcome.
......
namespace Cyotek.Windows.Forms namespace Acc.ImageBox
{ {
// Cyotek ImageBox // Cyotek ImageBox
// Copyright (c) 2010-2014 Cyotek. // Copyright (c) 2010-2014 Cyotek.
// http://cyotek.com // http://cyotek.com
// http://cyotek.com/blog/tag/imagebox // http://cyotek.com/blog/tag/ImageBox
// Licensed under the MIT License. See imagebox-license.txt for the full text. // Licensed under the MIT License. See ImageBox-license.txt for the full text.
// If you use this control in your applications, attribution, donations or contributions are welcome. // If you use this control in your applications, attribution, donations or contributions are welcome.
...@@ -15,7 +15,7 @@ ...@@ -15,7 +15,7 @@
public enum ImageBoxSizeMode public enum ImageBoxSizeMode
{ {
/// <summary> /// <summary>
/// The image is disiplayed according to current zoom and scroll properties. /// The image is disiplayed Acc.ImageBoxording to current zoom and scroll properties.
/// </summary> /// </summary>
Normal, Normal,
......
using System; using System;
namespace Cyotek.Windows.Forms namespace Acc.ImageBox
{ {
// Cyotek ImageBox // Cyotek ImageBox
// Copyright (c) 2010-2014 Cyotek. // Copyright (c) 2010-2014 Cyotek.
// http://cyotek.com // http://cyotek.com
// http://cyotek.com/blog/tag/imagebox // http://cyotek.com/blog/tag/ImageBox
// Licensed under the MIT License. See imagebox-license.txt for the full text. // Licensed under the MIT License. See ImageBox-license.txt for the full text.
// If you use this control in your applications, attribution, donations or contributions are welcome. // If you use this control in your applications, attribution, donations or contributions are welcome.
......
using System; using System;
namespace Cyotek.Windows.Forms namespace Acc.ImageBox
{ {
// Cyotek ImageBox // Cyotek ImageBox
// Copyright (c) 2010-2014 Cyotek. // Copyright (c) 2010-2014 Cyotek.
// http://cyotek.com // http://cyotek.com
// http://cyotek.com/blog/tag/imagebox // http://cyotek.com/blog/tag/ImageBox
// Licensed under the MIT License. See imagebox-license.txt for the full text. // Licensed under the MIT License. See ImageBox-license.txt for the full text.
// If you use this control in your applications, attribution, donations or contributions are welcome. // If you use this control in your applications, attribution, donations or contributions are welcome.
......
...@@ -11,7 +11,7 @@ using Cyotek.Win32; ...@@ -11,7 +11,7 @@ using Cyotek.Win32;
// Original ScrollControl code by Scott Crawford (http://sukiware.com/) // Original ScrollControl code by Scott Crawford (http://sukiware.com/)
namespace Cyotek.Windows.Forms namespace Acc.ImageBox
{ {
/// <summary> /// <summary>
/// Defines a base class for controls that support scrolling behavior. /// Defines a base class for controls that support scrolling behavior.
......
...@@ -2,7 +2,7 @@ ...@@ -2,7 +2,7 @@
// Original ScrollControl code by Scott Crawford (http://sukiware.com/) // Original ScrollControl code by Scott Crawford (http://sukiware.com/)
namespace Cyotek.Windows.Forms namespace Acc.ImageBox
{ {
partial class ScrollControl partial class ScrollControl
{ {
......
...@@ -5,7 +5,7 @@ using System.Windows.Forms; ...@@ -5,7 +5,7 @@ using System.Windows.Forms;
// Original VirtualScrollableControl code by Scott Crawford (http://sukiware.com/) // Original VirtualScrollableControl code by Scott Crawford (http://sukiware.com/)
namespace Cyotek.Windows.Forms namespace Acc.ImageBox
{ {
/// <summary> /// <summary>
/// Defines a base class for controls that support auto-scrolling behavior. /// Defines a base class for controls that support auto-scrolling behavior.
...@@ -327,7 +327,7 @@ namespace Cyotek.Windows.Forms ...@@ -327,7 +327,7 @@ namespace Cyotek.Windows.Forms
#region Protected Members #region Protected Members
/// <summary> /// <summary>
/// Adjusts the given Point according to the scroll size /// Adjusts the given Point Acc.ImageBoxording to the scroll size
/// </summary> /// </summary>
/// <param name="position">The position.</param> /// <param name="position">The position.</param>
/// <returns></returns> /// <returns></returns>
......
...@@ -2,7 +2,7 @@ ...@@ -2,7 +2,7 @@
using System.Collections; using System.Collections;
using System.Collections.Generic; using System.Collections.Generic;
namespace Cyotek.Windows.Forms namespace Acc.ImageBox
{ {
/// <summary> /// <summary>
/// Represents available levels of zoom in an <see cref="ImageBox"/> control /// Represents available levels of zoom in an <see cref="ImageBox"/> control
......
...@@ -9,7 +9,7 @@ using System.Reflection; ...@@ -9,7 +9,7 @@ using System.Reflection;
using System.Text; using System.Text;
using System.Windows.Forms; using System.Windows.Forms;
namespace Cyotek.Windows.Forms namespace Acc.ImageBox
{ {
public class ZoomLevelCollectionConverter public class ZoomLevelCollectionConverter
: TypeConverter : TypeConverter
......
支持 Markdown 格式
你添加了 0 到此讨论。请谨慎行事。
Finish editing this message first!