WinAPIの StretchBltを使えば出来そうです
[DllImport("gdi32")]
public static extern int StretchBlt(IntPtr hdc1,
int x1, int y1, int w1, int h1,
IntPtr hdc2, int x2, int y2, int w2, int h2, uint rop);
const uint SRCCOPY = 0x00CC0020;
といった具合にAPI宣言をします
ラベルのペイントイベントなどで
Graphics g = this.CreateGraphics();
g.DrawString("Sample", label1.Font, Brushes.Blue, new Point(0, 0));
IntPtr hDC = e.Graphics.GetHdc();
// 最初の100,0,56,24が Point(100,0) Size(56,24)へ描画
// 後ろがPoint(56,0) Size(-56,24) つまり Rect(0,0,56,24)を表します
StretchBlt(hDC, 100, 0, 56, 24, g.GetHdc(), 56, 0, -56, 24, SRCCOPY);
e.Graphics.ReleaseHdc(hDC);
g.ReleaseHdc();
g.Dispose();
といった具合です
元の文字列の描画を フォームの0,0付近にしていますがこれを適当な大きさのImageオブジェクトに置き換えてください
描画する文字列にあわせて StretchBltの各座標は適宜修正してください
お礼
WinAPIはまだ勉強中のため理解するのに若干苦労しましたがなんとか使う事が出来ました。 どうもありがとうございました。