protected virtual SizeF MeasureSymbology(SizeF availableSize) { Symbology1D symbology1 = this.Symbology as Symbology1D; if (symbology1 != null) { return(symbology1.MeasureContent((IMeasureContext) new MeasureContext(this.GetScaledFont(this.DpiScaleFactor.Height)), availableSize)); } PDF417 symbology2 = this.Symbology as PDF417; if (symbology2 != null) { return(new SizeF((float)(symbology2.DataMatrix.GetLength(1) * symbology2.Module), (float)(symbology2.DataMatrix.GetLength(0) * symbology2.Module))); } QRCode symbology3 = this.Symbology as QRCode; if (symbology3 != null) { return(new SizeF((float)(symbology3.BinaryMatrix.GetLength(1) * symbology3.Module), (float)(symbology3.BinaryMatrix.GetLength(0) * symbology3.Module))); } return(SizeF.Empty); }
public override void DpiScaleChanged(SizeF scaleFactor) { base.DpiScaleChanged(scaleFactor); Symbology1D symbology1 = this.Symbology as Symbology1D; if (symbology1 != null) { symbology1.Module = (int)Math.Round((double)symbology1.Module * ((double)this.DpiScaleFactor.Width / (double)this.previousDpi.Width)); } PDF417 symbology2 = this.Symbology as PDF417; if (symbology2 != null) { symbology2.Module = (int)Math.Round((double)symbology2.Module * ((double)this.DpiScaleFactor.Width / (double)this.previousDpi.Width), MidpointRounding.AwayFromZero); } QRCode symbology3 = this.Symbology as QRCode; if (symbology3 != null) { symbology3.Module = (int)Math.Round((double)symbology3.Module * ((double)this.DpiScaleFactor.Width / (double)this.previousDpi.Width), MidpointRounding.AwayFromZero); } this.previousDpi = scaleFactor; }