Вот мой код. Похоже, DrawIcon
игнорирует преобразование масштаба, но не преобразование преобразования. Есть ли какая-то особая причина для этого или это просто ошибка?
protected override void OnPaint(PaintEventArgs e)
{
Icon icon = SystemIcons.Warning;
Image img = icon.ToBitmap();
// DrawIcon ignores this transform, but not a translate transform
e.Graphics.ScaleTransform(1.5f, 1.5f);
e.Graphics.DrawRectangle(Pens.Red, 60, 90, icon.Width, icon.Height);
e.Graphics.DrawString("Icon", this.Font, Brushes.Black, 100, 100);
e.Graphics.DrawIcon(icon, 60, 90);
e.Graphics.DrawRectangle(Pens.Red, 60, 190, img.Width, img.Height);
e.Graphics.DrawString("Bitmap", this.Font, Brushes.Black, 100, 200);
e.Graphics.DrawImage(img, 60, 190);
}
![Scaled](https://i.stack.imgur.com/0mFzw.jpg)