RotatedGrid 0.1.0

dotnet add package RotatedGrid --version 0.1.0                
NuGet\Install-Package RotatedGrid -Version 0.1.0                
此命令旨在在 Visual Studio 的包管理器控制台中使用,因为它使用了 NuGet 模块的 Install-Package 版本。
<PackageReference Include="RotatedGrid" Version="0.1.0" />                
对于支持 PackageReference的项目,请将此 XML 节复制到项目文件中,以引用此包。
paket add RotatedGrid --version 0.1.0                
#r "nuget: RotatedGrid, 0.1.0"                
#r 指令可以在 F# Interactive 和 Polyglot Notebooks 中使用。将此代码复制到交互式工具或脚本的源代码中,以引用此包。
// Install RotatedGrid as a Cake Addin
#addin nuget:?package=RotatedGrid&version=0.1.0

// Install RotatedGrid as a Cake Tool
#tool nuget:?package=RotatedGrid&version=0.1.0                

C# 中的旋转网格

🎨 用于半色调抖动等。

该项目提供了一个枚举器,用于在指定的旋转网格上创建指定频率的网格坐标。这在需要为 CMYK 处理创建半色调抖动网格时非常有用。

这是 Rust 资源库 rotated-grid 的移植版本。以下屏幕截图是从该存储库中截取的;此存储库不包含任何可视化代码。

<div align="center" style="text-align: center"> <img src="https://raw.githubusercontent.com/sunsided/rotated-grid/main/readme/grid.png" alt="CMYK 网格示例" /> </div>

示例

在齐网格上进行枚举(0 度旋转)。点通过 dx=2 和 dy=3 均匀分布,位于 10×7 矩形内部。未使用偏移。

const float width = 10.0F;
const float height = 7.0F;

var grid = new GridPositionIterator(width, height, 2.0F, 3.0F, 0.0F, 0.0F, Angle.Zero);

var coordinates = new List<GridCoord>();
while (grid.MoveNext())
{
    coordinates.Add(grid.Current);
}

coordinates.Count.Should().Be(15);
coordinates.Should().ContainInOrder(
    // First row
    new GridCoord(1.0F, 0.5F),
    new GridCoord(3.0F, 0.5F),
    new GridCoord(5.0F, 0.5F),
    new GridCoord(7.0F, 0.5F),
    new GridCoord(9.0F, 0.5F),
    // Second row row
    new GridCoord(1.0F, 3.5F),
    new GridCoord(3.0F, 3.5F),
    new GridCoord(5.0F, 3.5F),
    new GridCoord(7.0F, 3.5F),
    new GridCoord(9.0F, 3.5F),
    // Third row
    new GridCoord(1.0F, 6.5F),
    new GridCoord(3.0F, 6.5F),
    new GridCoord(5.0F, 6.5F),
    new GridCoord(7.0F, 6.5F),
    new GridCoord(9.0F, 6.5F)
    );

在旋转网格上进行枚举;以下示例中使用了 45 度旋转

const float width = 10.0F;
const float height = 7.0F;
const float angle = 45.0F;

var grid = new GridPositionIterator(width, height, 2.0F, 2.0F, 0.0F, 0.0F, Angle.FromDegrees(angle));

var coordinates = new List<GridCoord>();
while (grid.MoveNext())
{
    coordinates.Add(grid.Current);
}

coordinates.Count.Should().Be(17);
coordinates.Should().ContainInOrder(
    // First row
    new GridCoord(0.7573595F, 2.0857863F),
    new GridCoord(2.1715730F, 0.6715729F),
    // Second row
    new GridCoord(0.7573595F, 4.9142137F),
    new GridCoord(2.1715730F, 3.5000000F),
    new GridCoord(3.5857863F, 2.0857863F),
    new GridCoord(5.0000000F, 0.6715729F),
    // Third row
    new GridCoord(2.1715730F, 6.3284273F),
    new GridCoord(3.5857863F, 4.9142137F),
    new GridCoord(5.0000000F, 3.5000000F),
    new GridCoord(6.4142137F, 2.0857863F),
    new GridCoord(7.8284273F, 0.6715729F),
    // Fourth row
    new GridCoord(5.0000000F, 6.3284273F),
    new GridCoord(6.4142137F, 4.9142137F),
    new GridCoord(9.2426405F, 2.0857863F),
    // Fifth row
    new GridCoord(7.8284273F, 6.3284273F),
    new GridCoord(9.2426405F, 4.9142137F)
);
产品 兼容的以及额外的计算目标框架版本。
.NET net5.0 已计算。 net5.0-windows 已计算。 net6.0 已计算。 net6.0-android 已计算。 net6.0-ios 已计算。 net6.0-maccatalyst 已计算。 net6.0-macos 已计算。 net6.0-tvos 已计算。 net6.0-windows 已计算。 net7.0 兼容。 net7.0-android 已计算。 net7.0-ios 已计算。 net7.0-maccatalyst 已计算。 net7.0-macos 已计算。 net7.0-tvos 已计算。 net7.0-windows 已计算。 net8.0 已计算。 net8.0-android 已计算。 net8.0-browser 已计算。 net8.0-ios 已计算。 net8.0-maccatalyst 已计算。 net8.0-macos 已计算。 net8.0-tvos 已计算。 net8.0-windows 已计算。
.NET Core netcoreapp3.0 已计算。 netcoreapp3.1 已计算。
.NET Standard netstandard2.1 兼容。
MonoAndroid monoandroid 已计算。
MonoMac monomac 已计算。
MonoTouch monotouch 已计算。
Tizen tizen60 已计算。
Xamarin.iOS xamarinios 已计算。
Xamarin.Mac xamarinmac 已计算。
Xamarin.TVOS xamarintvos 已计算。
Xamarin.WatchOS xamarinwatchos 已计算。
兼容的目标框架
包含的目标框架(在包中)
了解有关 目标框架.NET Standard 的更多信息。
  • .NETStandard 2.1

    • 无依赖。
  • net7.0

    • 无依赖。

NuGet 包

此包未由任何 NuGet 包使用。

GitHub 仓库

此包未由任何流行的 GitHub 仓库使用。

版本 下载 最后更新
0.1.0 163 7/28/2023