ClassLibraryWeiBao/QR二维码/Positioning/Stencils/PositionDetectionPattern.cs
(完整代码) 2KBusing System;
using System.Collections.Generic;
namespace Gma.QrCodeNet.Encoding.Positioning.Stencils
{
internal class PositionDetectionPattern : PatternStencilBase
{
public PositionDetectionPattern(int version)
: base(version)
{
}
private static readonly bool[,] s_PositionDetection = new[,]
{
{ o, o, o, o, o, o, o, o, o },
{ o, x, x, x, x, x, x, x, o },
{ o, x, o, o, o, o, o, x, o },
{ o, x, o, x, x, x, o, x, o },
{ o, x, o, x, x, x, o, x, o },
{ o, x, o, x, x, x, o, x, o },
{ o, x, o, o, o, o, o, x, o },
{ o, x, x, x, x, x, x, x, o },
{ o, o, o, o, o, o, o, o, o }
};
public override bool[,] Stencil
{
get { return s_PositionDetection; }
}
public override void ApplyTo(TriStateMatrix matrix)
{
MatrixSize size = GetSizeOfSquareWithSeparators();
MatrixPoint leftTopCorner = new MatrixPoint(0, 0);
this.CopyTo(matrix, new MatrixRectangle(new MatrixPoint(1, 1), size), leftTopCorner, MatrixStatus.NoMask);
MatrixPoint rightTopCorner = new MatrixPoint(matrix.Width - this.Width + 1, 0);
this.CopyTo(matrix, new MatrixRectangle(new MatrixPoint(0, 1), size), rightTopCorner, MatrixStatus.NoMask);
MatrixPoint leftBottomCorner = new MatrixPoint(0, matrix.Width - this.Width + 1);
this.CopyTo(matrix, new MatrixRectangle(new MatrixPoint(1, 0), size), leftBottomCorner, MatrixStatus.NoMask);
}
private MatrixSize GetSizeOfSquareWithSeparators()
{
return new MatrixSize(this.Width - 1, this.Height - 1);
}
}
}
24 小时内免费解锁 3 个项目,之后 1 算力/个。 规则说明
AI 解读 AI
登录后可用,每次 10 算力,解读结果公开显示在下面。
还没有人解读过这个文件。