2010-11-15 75 views
0

我有一個基於窗口大小自動調整大小的NSView。我加載圖像並將它們顯示在NSView中,但我不希望NSView嘗試「擠壓」它們以適應NSView的大小。我想要的是將圖像加載到100%的NSView中,然後調整窗口大小以顯示更多的圖像,而不是將其縮放以適合。我可能想稍後修改它以允許縮放和平移。使NSView可調整大小無需調整圖像中包含的圖像

這裏就是我所做的:

-(void)drawRect:(NSRect)rect 
{ 
    NSRect theRect = NSMakeRect((rect.size.width/2)-(([theImage pixelsWide]/2)/2), 
           (rect.size.height/2)-(([theImage pixelsHigh]/2)/2), 
           [theImage pixelsWide]/2, 
           [theImage pixelsHigh]/2); 

    [theImage drawInRect:theRect]; 
} 

回答

2

你是如何在第一時間顯示圖像?要麼你正在使用NSImageView,要麼你在-drawRect:中將圖像繪製到自定義視圖中。

如果您使用的形象圖,一起來看看它的自動調整大小設置(其作爲它的父視圖的幾何形狀的變化的幾何形狀)和它的圖像縮放特性(圖像尺寸和比例的圖像視圖的幾何變化。

如果自定義視圖然後將圖像繪製到任何您需要的矩形而不是視圖的全部範圍內

+0

很酷我想我已經得到它了我正在使用自定義視圖我採納了您的建議並縮放了圖像手動使用drawRect。和Javascript一樣工作! – Synthetix 2010-11-15 12:46:01