public Image Paint() { top = settings.TopMargin; Graphics g = Graphics.FromImage(new Bitmap(1, 1)); int width = (3 + 6 * 7 + 5 + 6 * 7 + 3) * settings.BarWidth + settings.LeftMargin + settings.RightMargin + (int)g.MeasureString(code[0].ToString(), settings.Font).Width; int height = settings.BarCodeHeight; if (title != null) { int h = (int)g.MeasureString(title, settings.Font).Height; height += h; top += h; } Bitmap bmp = new Bitmap(width, height, PixelFormat.Format32bppArgb); g = Graphics.FromImage(bmp); int left = settings.LeftMargin; //LEFT GUARD left = DrawLeftGuard(settings, g, code[0].ToString(), left); //LEFT GROUP int first = int.Parse(code[0].ToString()); Parity par = parity[first]; string digit = code[1].ToString(); left = Draw(settings, g, left, digit, codes[int.Parse(digit)].LhOdd); //Odd for (int i = 2; i <= 6; i++) { digit = code[i].ToString(); Pattern p = codes[int.Parse(digit)]; left = Draw(settings, g, left, digit, (par.IsOdd(i - 2) ? p.LhOdd : p.LhEven)); } //MIDDLE GUARD left = DrawCenterGuard(settings, g, left); //RIGHT GROUP for (int i = 7; i <= 12; i++) { digit = code[i].ToString(); Pattern p = codes[int.Parse(digit)]; left = Draw(settings, g, left, digit, p.Rh); } //RIGHT GUARD left = DrawRightGuard(settings, g, left); return(bmp); }
private static void Main(string[] args) { Console.WriteLine("F0.Common"); Console.WriteLine(); int integer = GetInteger(args); Console.WriteLine($"{nameof(integer)} {integer} is {(Parity.IsEven(integer) ? "" : "not ")}even."); Console.WriteLine($"{nameof(integer)} {integer} is {(Parity.IsOdd(integer) ? "" : "not ")}odd."); Console.WriteLine(); const int min = -240; const int max = +240; Console.WriteLine($"{nameof(integer)} {integer} clamped to the inclusive range of {min} and {max}:"); Console.WriteLine(Comparable.Clamp(integer, min, max)); }
public override void Render(ref PdfSharp.Drawing.XGraphics gfx, double _offsetLeft, double _offsetTop, double scaleX, double scaleY) { PreRender(ref gfx, offsetLeft, offsetTop, scaleX, scaleY); if (code != null && code.Length == 13) { double left = 0.0; offsetTop = _offsetTop; offsetLeft = _offsetLeft; Width *= scaleX; Height *= scaleY; font = new XFont(new Font("World", (float)Util.MillimeterToPoint((float)Math.Min(Height * 0.2, Width * 0.1) * 0.8), GraphicsUnit.World), new XPdfFontOptions(false, false)); gfx.DrawString(code[0].ToString(), font, Brushes.Black, new PointF((float)(Util.MillimeterToPoint(offsetLeft + Left + left)), (float)(Util.MillimeterToPoint(offsetTop + Top + (Height * 0.95))))); left += 4; BarWidth = (Width - left) / (3 + 6 * 7 + 5 + 6 * 7 + 3); left = DrawLeftGuard(ref gfx, code[0].ToString(), left); int first = int.Parse(code[0].ToString()); Parity par = EAN13.Parity[first]; string digit = code[1].ToString(); left = Draw(ref gfx, left, digit, EAN13.Codes[int.Parse(digit)].LhOdd); for (int i = 2; i <= 6; i++) { digit = code[i].ToString(); Pattern p = EAN13.Codes[int.Parse(digit)]; left = Draw(ref gfx, left, digit, par.IsOdd(i - 2) ? p.LhOdd : p.LhEven); } left = DrawCenterGuard(ref gfx, left); for (int i = 7; i <= 12; i++) { digit = code[i].ToString(); Pattern p = EAN13.Codes[int.Parse(digit)]; left = Draw(ref gfx, left, digit, p.Rh); } left = DrawRightGuard(ref gfx, left); Width /= scaleX; Height /= scaleY; } base.Render(ref gfx, offsetLeft, offsetTop, scaleX, scaleY); }
public void IfAnIntegerIsEvenlyDivisibleByTwo_ItIsEven_LeavingNoRemainder(int integer) { Assert.True(Parity.IsEven(integer)); Assert.False(Parity.IsOdd(integer)); }
public void Odd_16bitUnsignedInteger(ushort integer) { Assert.True(Parity.IsOdd(integer)); Assert.False(Parity.IsEven(integer)); }
public void Even_16bitSignedInteger(short integer) { Assert.True(Parity.IsEven(integer)); Assert.False(Parity.IsOdd(integer)); }
public void Odd_8bitUnsignedInteger(byte integer) { Assert.True(Parity.IsOdd(integer)); Assert.False(Parity.IsEven(integer)); }
public void Odd_NativeSizedUnsignedInteger(nuint integer) { Assert.True(Parity.IsOdd(integer)); Assert.False(Parity.IsEven(integer)); }
public void Even_NativeSizedSignedInteger(nint integer) { Assert.True(Parity.IsEven(integer)); Assert.False(Parity.IsOdd(integer)); }
public void Odd_64bitUnsignedInteger(ulong integer) { Assert.True(Parity.IsOdd(integer)); Assert.False(Parity.IsEven(integer)); }
public void Even_64bitSignedInteger(long integer) { Assert.True(Parity.IsEven(integer)); Assert.False(Parity.IsOdd(integer)); }
public void Even_8bitSignedInteger(sbyte integer) { Assert.True(Parity.IsEven(integer)); Assert.False(Parity.IsOdd(integer)); }
public void Even_32bitUnsignedInteger(uint integer) { Assert.True(Parity.IsEven(integer)); Assert.False(Parity.IsOdd(integer)); }