簡體   English   中英

Java:如何在盡可能小的表面上繪制圖像?

[英]Java: How to draw images on the smallest possible surface?

假設我有256張圖像,平均尺寸為70x150(因此,如果可變,則為尺寸)。 我有一個Graphic實例(從具有給定大小的BufferedImage創建),要在其上繪制圖像。 但是我想在盡可能低的表面上繪制它們。 因此,不僅在網格中,而且彼此之間真的很困惑。 但是!:它們可能不會彼此重疊。

也許只有人類的大腦才能處理。
我認為值得一問。

提前致謝,
馬亭

例如:

+------++------+
|      ||      |
| img1 || img2 |
|      |+------+
|      |+-----------------+
+------+|                 |
+---+   |                 |
| 3 |   |                 |
|   |   |    img 4        |
+---+   |                 |
        |                 |
        +-----------------+

之前已經問過這個問題: 可以使用哪種算法以最佳的方式將不同大小的矩形打包成最小的矩形?

可以從以下網址獲得之前回答的一份好的問卷調查: http : //www.csc.liv.ac.uk/~epa/surveyhtml.html

基本上,您是在尋求背包問題的解決方案

對於任意大小的背包問題,沒有最優算法,因為它是NP難題。

有很多次優算法:

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM