C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト

VB.NETでフォーム印刷時、文字がボケる

[トピック内 5 記事 (1 - 5 表示)]  << 0 >>

■94469 / inTopicNo.1)  VB.NETでフォーム印刷時、文字がボケる
  
□投稿者/ まる (8回)-(2020/04/14(Tue) 11:30:57)

分類:[VB.NET/VB2005 以降] 

お世話になります。
Visualstudio2019 VBで開発を行っています。
CaptureFormでフォームのイメージを取得し、フォーム印刷を行っているのですが、
文字がボケるというか、曲線が滑らかに描画されない状態です。
一度ピクチャーボックスで文字を描画したもので出力を試みたのですが、結果は変わらずでした。
解像度を-4(高)に設定したりなどしたのですが、状況は変わらないです。
何とか解消する方法や、何かしら有効な手段などは有りませんでしょうか?

よろしくお願いします。

引用返信 編集キー/
■94470 / inTopicNo.2)  Re[1]: VB.NETでフォーム印刷時、文字がボケる
□投稿者/ 魔界の仮面弁士 (2684回)-(2020/04/14(Tue) 12:12:29)
No94469 (まる さん) に返信
> CaptureFormでフォームのイメージを取得し、フォーム印刷を行っているのですが、

ここでいう CaptureForm とは何でしょうか?
自作クラスでしょうか、それとも何かのライブラリでしょうか。

Visual Basic Power Packs の PrintForm クラスとも違いそうですし…。
https://docs.microsoft.com/ja-jp/previous-versions/bb882742%28v%3dvs.140%29
引用返信 編集キー/
■94471 / inTopicNo.3)  Re[2]: VB.NETでフォーム印刷時、文字がボケる
□投稿者/ まる (9回)-(2020/04/14(Tue) 12:57:17)
No94470 (魔界の仮面弁士 さん) に返信
> ■No94469 (まる さん) に返信
>>CaptureFormでフォームのイメージを取得し、フォーム印刷を行っているのですが、
> 
> ここでいう CaptureForm とは何でしょうか?
> 自作クラスでしょうか、それとも何かのライブラリでしょうか。
> 
> Visual Basic Power Packs の PrintForm クラスとも違いそうですし…。
> https://docs.microsoft.com/ja-jp/previous-versions/bb882742%28v%3dvs.140%29

大変失礼しました。
他の人が作ったものでした

    Public Function CaptureForm(ByVal ctrl As Control) As Bitmap
        Dim img As New Bitmap(ctrl.Width, ctrl.Height)
        Dim memg As Graphics = Graphics.FromImage(img)
        Dim dc As IntPtr = memg.GetHdc()
        PrintWindow(ctrl.Handle, dc, 0)
        memg.ReleaseHdc(dc)
        memg.Dispose()
        Return img
    End Function

上記でフォームイメージを取得し、取得したイメージを印刷している状態です。

引用返信 編集キー/
■94488 / inTopicNo.4)  Re[3]: VB.NETでフォーム印刷時、文字がボケる
□投稿者/ ぶなっぷ (219回)-(2020/04/15(Wed) 09:17:17)
イメージなら、元絵の画素数が足りなければ、拡大して印刷するしかないよね。
拡大の際のアルゴリズムが悪ければ、ガタガタするのは当然な気がします。
そういう話?

であれば、滑らかに拡大するためのアルゴリズムを採用しましょう。
https://daeudaeu.com/programming/scaling/
と一口に言っても、自分で実装するのはかなり大変なので、探せばどこかに
ライブラリが転がっていそうな気がします(未調査)。
引用返信 編集キー/
■94498 / inTopicNo.5)  Re[4]: VB.NETでフォーム印刷時、文字がボケる
□投稿者/ まる (10回)-(2020/04/15(Wed) 16:49:47)
とりあえずベタ打ち印刷で何とかなりました
ありがとうございました。
解決済み
引用返信 編集キー/

このトピックをツリーで一括表示


トピック内ページ移動 / << 0 >>

このトピックに書きこむ