質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
C#

C#はマルチパラダイムプログラミング言語の1つで、命令形・宣言型・関数型・ジェネリック型・コンポーネント指向・オブジェクティブ指向のプログラミング開発すべてに対応しています。

PDF

PDF(Portable Document Format)とはISOによって国際標準として制定されている電子ドキュメント用の拡張子です。

ASP.NET

ASP.NETは動的なWebサイトやWebアプリケーション、そしてWebサービスを構築出来るようにする為、Microsoftによって開発されたウェブアプリケーション開発フレームワークです。

Q&A

2回答

15193閲覧

C#による画像操作による画像劣化に関して

ShintaroIshida

総合スコア87

C#

C#はマルチパラダイムプログラミング言語の1つで、命令形・宣言型・関数型・ジェネリック型・コンポーネント指向・オブジェクティブ指向のプログラミング開発すべてに対応しています。

PDF

PDF(Portable Document Format)とはISOによって国際標準として制定されている電子ドキュメント用の拡張子です。

ASP.NET

ASP.NETは動的なWebサイトやWebアプリケーション、そしてWebサービスを構築出来るようにする為、Microsoftによって開発されたウェブアプリケーション開発フレームワークです。

0グッド

0クリップ

投稿2015/07/30 07:36

編集2022/01/12 10:55

システムに事前登録されている画像をユーザーが、操作してPDFに書き出す処理を実装中です。
(画像操作は、拡大・縮小・トリミング・回転)

元画像の解像度は高めなのに処理を通し、PDFで出力するとかなり画像がぼやけた感じ(劣化)します。
実装は、以下のサイトのソースを参考(というかほぼ同じソースです)にしています。

拡大・縮小
http://dobon.net/vb/dotnet/graphics/drawimage.html#scaling

トリミング
http://dobon.net/vb/dotnet/graphics/triming.html

上記を踏まえて以下の質問があります。

・Bitmap オブジェクトを通せば通す程、画質は劣化するとどこかのサイトで見ました。
これらを回避する方法はあるのでしょうか?
(画像操作の各フェーズで、一回一回上記の様にBitmapオブジェクトを準備しているので)

・そもそもこの画像操作の方法がやり方して古く、もっと良い方法があるのでしょうか?
(画質の劣化しない)

・元画像から拡大すると画質が劣化するのは分かるのですが、縮小した場合でも
明らかに画質が劣化しています。こういうものなのでしょうか?

※追記
PDFに限った話でもなく、イメージの編集等の操作のご経験やご意見でも構いません。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答2

0

PDF画像の確認方法ですが、もしかして印刷してボヤケているという話でしょうか?
(同一モニタ上で確認して元画像から明らかに劣化しているという話でしたら申し訳ありません)

モニタの見え方と紙面上の見え方は全く異なるので、元解像度が72dpi程度ですとどう加工しても基本ぼやけて見えます。
紙面上でぼやけないように見えるためにはもっと高解像度が必要になります。
(例えば、週間マンガ雑誌の荒い紙面でも300dpi程度必要だったかと)

画像によりますが、普通のA4くらいだと600dpi~くらいはないとぼやけて見えるかと思います。
当然ですがこれは加工後の話です。拡大などを考えたら元画像はもっと必要だと思います。

余談ですが、もしモニタ上でPDF確認を行った時にボヤケているという話でしたら、もしかしたら表示するプログラムがアンチエイリアスをかけていたためそう見える、という可能性もあるかと思います。

投稿2015/08/12 20:15

退会済みユーザー

退会済みユーザー

総合スコア0

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

ご提示いただいたサイトに下記ページがありましたが…参考になさってみてはいかがでしょうか。

補間方法を指定して画像を拡大、縮小(スケーリング)表示する
http://dobon.net/vb/dotnet/graphics/interpolationmode.html

元画像の解像度は450~600dpi程度ありますでしょうか。
200dpi程度ですと劣化は否めないかと思われます。

それとPDFにも何故か解像度の概念があるので、そちらも参考にしてみるとよいかもしれません。

http://blog.antenna.co.jp/PDFTool/archives/2007/01/25/

投稿2015/07/30 13:38

yu-ri

総合スコア634

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

ShintaroIshida

2015/07/31 04:50

yu-ri 様 回答ありがとうございます。 ご提示頂いたURLを確認しました。 ```C# System.Drawing.Drawing2D.InterpolationMode.HighQualityBicubic; ``` 上記を指定しましたが、変化は特にありませんでした。 (変化しているかもしれませんが、ディスプレイ・印刷結果の目視確認ではわからない程度です) 解像度に関しては、 WEBシステムから投稿される画像が72dpi。 PDF側の解像度は、96dpiで設定されている認識です。 PDFの出力には、ActiveReports(http://www.grapecity.com/tools/products/activereportsnet9)を利用しております。 解像度が変更できるかどうかの調査を行ってみます。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問