2012-12-29 147 views
0

我想製作一個處理圖形的程序,我不太確定如何實現縮放。我使用線條和圓形(使用SDL_gfxPrimitives)等原始形狀縮放它們,但不能用於圖片。我將如何實現縮放?C++縮放圖形內容

回答

2

有一個支持SDL庫變焦:

SDL2_gfx Library

的SDL_gfx庫演變出的其中 提供基本繪圖例程,如直線,圓或多邊形和 SDL_rotozoom的SDL_gfxPrimitives代碼實施了用於SDL 表面的內插式旋轉錄音。

的SDL_gfx庫的當前組成部分是:

  • 圖形基元(SDL_gfxPrimitves.h)
  • Rotozoomer(SDL_rotozoom.h)
  • 幀率控制(SDL_framerate.h)
  • MMX圖像過濾器(SDL_imageFilter.h)
  • 自定義Blit函數(SDL_gfxB​​litFunc.h)
2

你的問題不夠具體,不足以產生一個特定的答案,可能會讓你看起來在尋找什麼。

我可以爲您提供的建議是,您首先想出一種方法來代表縮放。

如果你已經知道如何一幅畫,考慮的是,當涉及到計算機圖形學,它幾乎總是「放大」或「縮小」的情況無非是繪製圖片更多逐漸變大或變小。

考慮到這一點,也許你會開始看到,表示縮放概念的合理方法是使用某種形式的Camera類,它將毫不含糊地確定您繪製的圖片的大小和位置。

+0

我剛纔說的就是這樣。但是,只是增加畫布的大小,你把紋理放在 – user23012

+0

我敢肯定,在大多數圖形系統中,修改輸出紋理大小不會神奇地「縮放」你的繪圖。 –

+0

所以如果我可以說有一個RECT屏幕的大小,並將紋理繪製到該RECT。現在,如果我加倍RECT的大小,它不會使它看起來像放大?我可以告訴你它..... 也我從來沒有說紋理大小畫布,你知道你的畫你的紋理的東西? – user23012