2015-10-20 50 views
-2

如果存在尺寸爲800x600的JPEG圖像,並且我想通過將其尺寸減小到768x576來減小文件大小,我該如何去解決它?如果在.NET中使用GDI +庫,我會認爲只要打開圖像,將圖像複製到具有所需尺寸和質量設置爲100的圖像,生成的圖像將具有相同的質量,並且會自動較小(以字節爲單位),因爲它的尺寸小於原始尺寸,但在我的測試中,似乎並不是這樣。事實上,由此產生的圖像的大小比原來的大:從〜70K到〜280K。是否可以通過減小尺寸來縮小JPEG圖像的文件大小?

那麼,有什麼辦法可以做到這一點?最終目標是減少圖像尺寸。我也試圖用相同的尺寸和70或50甚至50的質量設置保存圖像,但我不想這樣做,因爲不可能確定原始圖像是否已經被壓縮到保存它的點如此低的設置會產生太多的質量損失。

+0

是您的實際問題「如何確定使用C#的JPEG壓縮級別」? (https://support.microsoft.com/en-us/kb/324790) –

+0

不......我在研究過程中偶然發現了這篇文章,但關於使用自定義表的應用程序的最後一部分並且無法_always_確定使用這種方法的質量設置,讓我放棄它。 – ferc

回答

1

您不應保存質量設置爲100的文件。您正在做的就像獲取128 kbps的mp3文件並將其保存爲192 kbps。你會得到一個更大的文件,其中包含相同的信息,而且你可能只是通過再次解碼和編碼而丟失一些數據。

我會從保持圖像大小開始,找到獲得相同文件大小的質量。之後,你可以玩弄大小和質量,直到你得到你想要的文件大小。

+0

除質量和像素尺寸外,請注意文件大小受JPEG子採樣(4:1:1,4:2:2或4:4:4)的影響,您無法使用GDI +進行控制。有關更多詳細信息,請參閱此[問題](http://stackoverflow.com/questions/3954863/how-do-you-save-a-jpeg-with-4-2-2-and-high-quality-in-淨) –