D2Phap.DXControl 2.4.0

There is a newer version of this package available.
See the version list below for details.
dotnet add package D2Phap.DXControl --version 2.4.0
                    
NuGet\Install-Package D2Phap.DXControl -Version 2.4.0
                    
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="2.4.0" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="D2Phap.DXControl" Version="2.4.0" />
                    
Directory.Packages.props
<PackageReference Include="D2Phap.DXControl" />
                    
Project file
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add D2Phap.DXControl --version 2.4.0
                    
#r "nuget: D2Phap.DXControl, 2.4.0"
                    
#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.
#:package D2Phap.DXControl@2.4.0
                    
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=D2Phap.DXControl&version=2.4.0
                    
Install as a Cake Addin
#tool nuget:?package=D2Phap.DXControl&version=2.4.0
                    
Install as a Cake Tool

D2Phap.DXControl

  • A WinForms hybrid control that supports both Direct2D and GDI+ drawing thanks to WicNet.
  • This control is used in ImageGlass software since version 9.0.

Nuget

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, 7.0

Installation

Run the command

Install-Package D2Phap.DXControl

Example

<img src="https://user-images.githubusercontent.com/3154213/185740243-6a3cb1b6-13e6-4888-8c57-ce8ac9998c6e.png" width="500" />

Draws a rectangle, then moves it to the right side.

using D2Phap;

// create a WinForms custom control that extends from DXControl
public class DXCanvas : DXControl
{
    private RectangleF animatableRectangle = new(100, 100, 400, 200);

    public DXCanvas()
    {
        EnableAnimation = true;

        // use Direct2D
        UseHardwareAcceleration = true;
    }

    protected override void OnRender(IGraphics g)
    {
        // draw a yellow rectangle with green border
        g.FillRectangle(rectText, Color.FromArgb(100, Yellow));
        g.DrawRectangle(rectText, Color.Green);
    }


    // 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

MIT

Support this project

Thanks for your gratitude and finance help!

Product Compatible and additional computed target framework versions.
.NET net6.0-windows7.0 is compatible.  net7.0-windows was computed.  net7.0-windows7.0 is compatible.  net8.0-windows was computed.  net9.0-windows was computed.  net10.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

  • net7.0-windows7.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