D2Phap.DXControl
1.0.3
There is a newer version of this package available.
See the version list below for details.
See the version list below for details.
dotnet add package D2Phap.DXControl --version 1.0.3
NuGet\Install-Package D2Phap.DXControl -Version 1.0.3
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="D2Phap.DXControl" Version="1.0.3" />
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add D2Phap.DXControl --version 1.0.3
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
#r "nuget: D2Phap.DXControl, 1.0.3"
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
// Install D2Phap.DXControl as a Cake Addin #addin nuget:?package=D2Phap.DXControl&version=1.0.3 // Install D2Phap.DXControl as a Cake Tool #tool nuget:?package=D2Phap.DXControl&version=1.0.3
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
DXControl
- A WinForms hybrid control that supports Direct2D and GDI+ drawing thanks to DirectN and WicNet.
- This control is used in ImageGlass software since version 9.0.
Resource links
- Project url: https://github.com/d2phap/DXControl
- Nuget package: https://www.nuget.org/packages/D2Phap.DXControl
- About: https://imageglass.org/about
Features
- High performance drawing using Direct2D.
- Names and types are exactly the same as the native concepts of Direct2D (interfaces, enums, structures, constants, methods, arguments, guids, etc...). So you can read the official documentation, use existing C/C++ samples, and start coding with .NET right away.
- All native COM interfaces are generated as .NET (COM) interfaces, this makes .NET programming easier, but they are not strictly needed.
- Option to draw by GDI+.
- Supports animation drawing for both Direct2D and GDI+.
Requirements:
- .NET 6.0
Installation
Run the command
Install-Package D2Phap.DXControl
Example
Draw 2 rectangles by Direct2D and GDI+ graphics, then animate it to the right side.
using D2phap;
// create a WinForms custom control that extends from DXControl
public class DXCanvas : DXControl
{
private D2D_RECT_F animatableRectangle = new(100f, 100f, new(400, 200));
public DXCanvas()
{
EnableAnimation = true;
}
// use Direct2D graphics
protected override void OnRender(DXGraphics g)
{
// draw a yellow rectangle with green border
g.FillRectangle(rectText, _D3DCOLORVALUE.FromCOLORREF(_D3DCOLORVALUE.Yellow.Int32Value, 100));
g.DrawRectangle(rectText, _D3DCOLORVALUE.Green);
}
// Use GDI+ graphics
protected override void OnRender(Graphics g)
{
// draw a yellow rectangle with green border
using var pen = new Pen(Color.Red, 5);
g.DrawRectangle(pen, new Rectangle((int)rectText.left, (int)rectText.top - 50, (int)rectText.Width, (int)rectText.Height));
}
// Update frame logics for animation
protected override void OnFrame(FrameEventArgs e)
{
// animate the rectangle to the right
animatableRectangle.left++;
}
}
See Demo project for full details.
License
Support this project
Thanks for your gratitude and finance help!
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET | net6.0-windows7.0 is compatible. net7.0-windows was computed. net8.0-windows was computed. |
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.
-
net6.0-windows7.0
- WicNet (>= 1.5.0)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories (1)
Showing the top 1 popular GitHub repositories that depend on D2Phap.DXControl:
Repository | Stars |
---|---|
d2phap/ImageGlass
🏞 A lightweight, versatile image viewer
|
Version | Downloads | Last updated | |
---|---|---|---|
4.0.0 | 80 | 11/9/2024 | |
3.3.0 | 399 | 5/18/2024 | |
3.2.0 | 152 | 4/27/2024 | |
3.1.0 | 358 | 1/21/2024 | |
3.0.2 | 204 | 12/28/2023 | |
3.0.1 | 267 | 11/16/2023 | |
3.0.0 | 150 | 11/8/2023 | |
2.7.0 | 177 | 10/6/2023 | |
2.6.0 | 223 | 7/8/2023 | |
2.5.0 | 320 | 2/25/2023 | |
2.4.1 | 371 | 1/28/2023 | |
2.4.0 | 348 | 1/28/2023 | |
2.3.1 | 416 | 12/15/2022 | |
2.3.0 | 364 | 12/14/2022 | |
2.2.0 | 516 | 10/20/2022 | |
2.1.0 | 495 | 9/24/2022 | |
2.0.0 | 517 | 8/20/2022 | |
1.1.0 | 528 | 8/5/2022 | |
1.0.6 | 545 | 7/31/2022 | |
1.0.5 | 459 | 7/31/2022 | |
1.0.4 | 469 | 7/31/2022 | |
1.0.3 | 503 | 7/30/2022 | |
1.0.2 | 561 | 7/30/2022 | |
1.0.1 | 564 | 7/30/2022 | |
1.0.0 | 575 | 7/30/2022 |