3

OnPrintPage イベントを処理する .NET PrintDocument クラスを使用して、C# で印刷ルーティングを作成しています。

余白を最大化し、画像を横向きモードで印刷することに成功しましたが、デフォルトの画像プレビュー プログラムであるWindows フォト ギャラリー (以前の Windows 画像と FAX ビューアー) から同じ画像ファイルを印刷した場合ほど見栄えがよくありません。 Windows Vista で。

「印刷用に画像をシャープにする」を選択するオプションがあることに気付きましたが、それは何をしますか?

最初に Windows フォト ギャラリーから画像のコピーを印刷してから、必要なカスタム オーバーレイを印刷するために、もう一度プリンターにシートを送信することを考えましたが、毎回並べるのは難しいです。必要な精度を持たずにシートインする...だから、画像を含め、C#内ですべての描画コマンドを実行する必要があります。

ビットマップで前処理を実行して、Windows フォト ギャラリーと同じようにきれいに印刷する方法を知っている人はいますか? フォト ギャラリーの印刷出力を、.NET Image クラスで読み取ることができる標準の画像ファイル (bmp、png など) としてインターセプトできる単純な印刷ドライバーはありますか? 私はここですべての創造性に賛成です。

4

2 に答える 2

1

Paint.Netは、印刷に Windows 画像と FAX ビューアを使用しており、以前はオープン ソースでした。

「Paint.Netソース」の簡単なGoogleは、以前の化身であったにもかかわらず、再び閉じたようです。ソースを見て、ダイアログがどのように呼び出されるかを確認します

于 2009-10-29T09:58:33.210 に答える
0

小さな画像を撮影してその大きなバージョンを印刷しようとしている場合は、メモリ内に大きなバージョンの画像を作成してから、その大きなバージョンを印刷すると役立つ場合があります。これは一般的にあなたがこれを行う方法です:

Bitmap largeBitmap = new Bitmap(800, 600);
using (Graphics g = Graphics.FromImage(largeBitmap))
{
    g.InterpolationMode = InterpolationMode.HighQualityBicubic;
    g.DrawImage(smallImage ...) // I forget which of the 30 
        // overloads you need here
}
// then print largeBitmap

基本的には、プリンタの代わりにGDI+に画像のサイズを変更させることになります。これは改善である場合とそうでない場合があります。フォトギャラリーの「シャープニング」は確かにこれよりも洗練されており、印刷の問題を対象としています。

于 2009-09-17T18:09:38.303 に答える