1

次のアイデアを検討してください。

さまざまなレイアウトでラベルを印刷する必要があるクライアント アプリケーションが X 個存在する可能性があります。これらのラベルのすべてのレイアウト ロジックを含む WCF サービス アプリを備えたサーバーが 1 つあります。このサービスはパラメーターを指定して呼び出され、クライアントが接続されたプリンターに送信できる Image オブジェクトを返します。

画像を返し、それを印刷に必要な Graphics オブジェクトに描画するという考えに頭が下がります。

通常、印刷するイメージの生成はプリンタのコンテキストで行われるため、適切なサイズのイメージが生成されます。

void print(object sender, PrintPageEventArgs ev)
{
    Graphics g = ev.Graphics;
    g.DrawString() // etc
}

しかし、WCF サービスはどのようにそのイメージを生成して、クライアントが呼び出すことができるようにする必要がありますか?

Graphics g = ev.Graphics;
g.DrawImage(service.GenerateLabel(), 0, 0);

私ははっきりしているといいのですが

4

1 に答える 1

1

Graphicsサーバー環境では引き続き GDI+ (クラス)を使用できるはずです。画像サイズだけが気になる場合は、ビットマップの代わりにメタファイルを使用することを検討してください。ビットマップは非常にコンパクトで、解像度に依存しない形式です (DPI を設定します)。

于 2013-09-09T08:01:49.470 に答える