2010-01-12 27 views
2

我上傳了一個帶有jpg擴展名的圖像,並在.NET web應用程序中使用Graphics.DrawString在照片上添加了文本。然後,如果我應用其他編輯工具(如旋轉圖像),則添加的文本變得模糊。.NET Graphics.drawstring

這個問題的原因和解決方案是什麼?

回答

0

恕我直言,你收到此模糊,因爲JPEG壓縮的。如果要編輯圖像,應避免使用有損壓縮方法。嘗試使用PNG而不是JPEG來檢查我的猜測。

0

您的圖片已經被壓縮要去。 當你處理圖像,確保您不會再次將其保存爲JPEG的出路,你化合物壓縮。每次你重新壓縮一張JPEG時,儘管視覺質量有所下降,但它看起來呈指數級惡化,並且通常會變得更大。

+1

當它添加的文本沒有被壓縮(因爲它是由GDI所產生),因此「重新壓縮」問題不適用。 – AUSteve

+2

輸入圖像已經被壓縮。當你添加文本時,「重新壓縮」仍然適用於整個圖像。在幾乎所有情況下,他的文本邊界將與先前的壓縮運行相交,並且在隨後的再壓縮時仍然受到相同的警告。 – nathanchere

1

你總是可以使用像ImageMagick的.NET組件在你的壓縮,以得到較好的控制,當你保存了。

2

當將文本添加到像JPEG基於光柵的圖像格式(而不是基於矢量的格式,如SVG),則文本是不再一個單獨的對象,它只是着色像照片像素。柵格圖像的任何轉換幾乎肯定會導致「模糊」。

爲了減少影響,你可以最後添加文本,以便它不受其他操作。

我不知道該GDI.net默認級別是什麼,但你可以用JPEG壓縮的水平發揮。低壓縮不像有損,但會產生大文件大小。你應該能夠避免5-10%的壓縮,而不會失去太多細節,同時顯着減小文件大小,但這取決於圖像以及你需要多麼挑剔。

相關問題