public void InitData1Renderer(MidiViewer viewer, Panel contentPanel, BmpRenderer bmpRenderer) { releaseResources(); this.Location = new Point(bmpRenderer.Location.X - Data1TextWidth, bmpRenderer.Location.Y); this.SizeMode = PictureBoxSizeMode.Normal; this.Size = new Size(Data1TextWidth, bmpRenderer.Height); data1TextSpacing = (int)Math.Round((double)bmpRenderer.Height / (double)128); var f = viewer.GetFontForRect( new Rectangle(0, 0, data1TextSpacing.Min(Data1TextWidth), data1TextSpacing.Min(Data1TextWidth))); if (f != null) { this.Image = null; this.bmp = new Bitmap(Data1TextWidth, bmpRenderer.Height); using (var g = Graphics.FromImage(bmp)) { g.FillRectangle(Brushes.White, new Rectangle(0, 0, bmp.Width, bmp.Height)); for (int x = 128 - 1; x >= 0; x--) { g.DrawString(x.ToStringEx(), f, Brushes.Black, new PointF(0, x * data1TextSpacing)); } } this.Image = bmp; } }