java image 设置大小_如何在Java中调整BufferedImage的大小
單步縮放的主要問題是它們通常不會產生高質量的輸出,因為它們專注于將原始圖像壓縮到更小的空間中,通常通過剔除大量像素信息(不同的算法完成不同的事情,所以我歸納有效)
威爾drawGraphics規模上下,是的,它會向它或產生高質量的輸出?這些將歸結為實現,一般來說,大多數默認使用的縮放算法都集中在速度上。你可以通過一些小小的方法來實現,但通常情況下,除非你在一個小范圍內擴展,否則質量通常會受到影響(從我的經驗來看)。
一般來說,推薦使用專用庫,如imgscalr,從我玩過的十分鐘時間里,它做得很好,或者執行一個階梯式的規模。
階梯式縮放基本上是將圖像上下移動2的冪次,直到達到所需的大小。請記住,擴大規模只不過是占用一個像素并稍微擴大一點,所以如果您擴大到一個非常大的尺寸,質量將永遠是一個問題。
例如...
記住,任何縮放通常是昂貴的操作(基于圖像的原始和目標尺寸),所以一般來說最好是嘗試在繪制過程的大小以及可能的背景下進行這些操作。
還有一個問題是否要保持圖像的寬高比?根據你的例子,圖像將以方形方式縮放(拉伸以滿足目標尺寸的要求),但這通常是不期望的。您可以將-1傳遞給寬度或高度參數,并且底層算法將保留原始圖像的寬高比,或者您可以簡單地控制并確定是否要將圖像填充或適合目標區域,例如...
一般情況下,我避免使用drawImage或getScaledInstance大部分時間(如果你只縮放在小范圍內或者想要做低質量,快速的規模,這些都可以工作),并更多依賴于適合/填充目標區域和縮放等事情。使用我自己的方法的原因簡直歸結為并不總是被允許使用外部庫。尼斯不得不重新發明輪子,你可以
總結
以上是生活随笔為你收集整理的java image 设置大小_如何在Java中调整BufferedImage的大小的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: base64 二进制流java_读取和b
- 下一篇: 最新版励志网名男生成熟稳重115个