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

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

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

Re[2]: ビットマップを縮小すると細い線がかすれてしまう


(過去ログ 111 を表示中)

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

■65661 / inTopicNo.1)  ビットマップを縮小すると細い線がかすれてしまう
  
□投稿者/ ゼロQ (1回)-(2013/03/13(Wed) 15:32:14)

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

こんにちは。VB2008での画像ファイルの扱い方で質問があります。
例えば、1000×1000の白黒ビットマップ画像を、以下のように500×500のサイズに縮小した時、
以下の方法だと、太さ1ピクセルの罫線がかすれてしまいます。

Using bmp As New Bitmap(画像ファイル)  '1000×1000のビットマップ
    Using bmp2 as New Bitmap(bmp, 500, 500)
        bmp2.Save(ファイル名, Imaging.ImageFormat.Png)
    End Using
End Using

このような画像の縮小を行っても、1ピクセルの罫線をそのまま保つ・またはアンチエイリアス的な効果
(というのかどうか分かりませんが)で罫線が分かるようにするにはどのような方法があるでしょうか?
たとえ元の画像が白黒であっても、二値状態を保持する必要はなく、画像縮小時にグレースケールの状態になってもかまいません。

よろしくお願いします。

引用返信 編集キー/
■65663 / inTopicNo.2)  Re[1]: ビットマップを縮小すると細い線がかすれてしまう
□投稿者/ shu (224回)-(2013/03/13(Wed) 17:09:09)
No65661 (ゼロQ さん) に返信
Graphics.InterpolationMode を指定してみてはどうでしょう?
http://msdn.microsoft.com/ja-jp/library/vstudio/k0fsyd4e.aspx

Bicubic 辺りがよいかもしれないです。
引用返信 編集キー/
■65669 / inTopicNo.3)  Re[1]: ビットマップを縮小すると細い線がかすれてしまう
□投稿者/ Azulean (112回)-(2013/03/13(Wed) 22:25:53)
No65661 (ゼロQ さん) に返信
> こんにちは。VB2008での画像ファイルの扱い方で質問があります。
> 例えば、1000×1000の白黒ビットマップ画像を、以下のように500×500のサイズに縮小した時、
> 以下の方法だと、太さ1ピクセルの罫線がかすれてしまいます。

50% に縮小したわけですから、太さ 1 ピクセルの線は 0.5 ピクセルになり、1 ピクセルとして表現される保障はありません。
このため、周囲の色と混ぜ合わされて薄くなるか、消えるのはそんなものではないでしょうか。

Graphics.DrawImage を使う形での縮小での InterpolationMode で多少差がつくかもしれませんが、あなたが望む形に常になるとは限りません。
(あくまで絵として縮小するわけですから、線を残した縮小になるとは限りません)
引用返信 編集キー/
■65689 / inTopicNo.4)  Re[2]: ビットマップを縮小すると細い線がかすれてしまう
□投稿者/ ゼロQ (2回)-(2013/03/14(Thu) 11:33:10)
2013/03/14(Thu) 11:33:26 編集(投稿者)

shuさま、Azuleanさま、ありがとうございました。
shuさまに教えて頂いたGraphics.InterpolationModeの解説ページを参考に、
InterpolationMode.HighQuality○○あたりを使うときれいに仕上がることを確認しました。
この列挙体を色々と試してみて、今回のケースにあったものを探ってみようと思います。

ありがとうございました。
解決済み
引用返信 編集キー/


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

このトピックに書きこむ

過去ログには書き込み不可

管理者用

- Child Tree -